0
只是想知道为什么这个表达egrep "\$[0-9]+(\.[0-9][0-9])?" dollar.txt
不匹配4.50美元,5.00美元,1000美元。它不符合任何类似的事情。REGEXP使用egrep匹配美元金额
此外,表达egrep "\$" dollar.txt
匹配
$1000 over here
no money here
有人可以请解释原因。 (两个部分对这个问题)...谢谢
只是想知道为什么这个表达egrep "\$[0-9]+(\.[0-9][0-9])?" dollar.txt
不匹配4.50美元,5.00美元,1000美元。它不符合任何类似的事情。REGEXP使用egrep匹配美元金额
此外,表达egrep "\$" dollar.txt
匹配
$1000 over here
no money here
有人可以请解释原因。 (两个部分对这个问题)...谢谢
尝一尝我的机器上,看来,即使在它前面的反斜杠,庆典是解释美元符号$
,随着不管后面是什么,作为插入正则表达式的变量。这样做似乎解决它,但:
egrep "\Q$\E[0-9]+(\.[0-9][0-9])?" input
编辑:使用单引号(由@马克Plotnick建议),似乎做的伎俩还有:
egrep '\$[0-9]+(\.[0-9][0-9])?' input
的可能的复制[正则表达式匹配美元金额](https://stackoverflow.com/questions/3193403/regular-expression-to-match-dollar-amounts) –
也许因为使用的例子是从书“O'Reilly掌握正则表达式”。尽管如此,我已经看过这个问题,答案似乎并没有给我一个匹配。 –
在你的正则表达式中,'.'这个时期会匹配任何角色,你知道的。我想你可能是指'\ .'。 –