Я давно не пользовался регулярным выражением и не могу понять, как сопоставить действительный символ доллара, и любая ссылка на символ доллара и регулярное выражение говорит мне об особых значениях и случаях. Мне нужно соответствовать $
. Я ожидал, что \$
или $$
должен был избежать этого, но я все еще не соответствую ему.
Вот мой текст
(WW) Capacity Charge
. . . . . . . . . . . . . . . . $ 123.45
WW Commodity Charge . . . . . . . . . $ 67.89
Я пытаюсь чтобы захватить 123.45
Я подумал, что должен просто сопоставить первое вхождение, где некоторые символы расположены между символом доллара, пробелом и новой строкой. Вот несколько из регулярных выражений, которые я пробовал.
preg_match("|(?<=\$\s)(.*)(?=\n)|",$data[1],$matches); //no matches
preg_match("|(?<=$\s)(.*)(?=\n)|",$data[1],$matches); //no matches
preg_match("|(?<=$)(.*)(?=\n)|",$data[1],$matches); //no matches
preg_match("|(?<=\$)(.*)(?=\n)|",$data[1],$matches); //no matches
preg_match("|(?<=$$)(.*)(?=\n)|",$data[1],$matches); //no matches
Просто чтобы проверить, что что-то соответствует, я даже сделал
preg_match("|(?<=\.)(.*)(?=\n)|",$data[1],$matches); // . . . . . . . . . . . . . . . $ 123.45
preg_match("|(?<=.)(.*)(?=\n)|",$data[1],$matches); // . . . . . . . . . . . . . . . $ 123.45
preg_match("|(?<=1)(.*)(?=\n)|",$data[1],$matches); // 23.45
Как я могу сопоставить текст между $
и перевод строки?