我对正则表达式完全缺乏经验,所以如果这是一个简单的问题我很抱歉,但我无法在任何地方找到任何答案。我正在尝试匹配[some numbers] [some letters]
形式的字符串,例如123 apples
,但我不想在它们前面加上单词about
时匹配它们(例如about 10 apples
不应该匹配)。
我尝试过使用(?<!about )(\d[,\.\d]*) ([a-zA-Z]+)
,但这显然不起作用,因为它只是略微移动匹配(这样about 12 apples
匹配为2 apples
)。我该怎么做才能解决这个问题?
答案 0 :(得分:1)
我以前遇到过这个问题。试试这个:
(?<!about )(\b\d[,\.\d]*\b) ([a-zA-Z]+)
\b
匹配零字符字边界(空格后跟字母数字或反之亦然)。它将拒绝将“约123个苹果”称为“23个苹果”,因为在“2”之前没有字边界。
答案 1 :(得分:0)
你是如此亲密:(?<!about \d*)(\d[,\.\d]*)
。将\d*
添加到您的负面看法背后。