朋友。我有两种句子,后面跟一个逗号,不带逗号:
$item_id = 5869,
和
$item_id = 3456
我只想查找那些不包含逗号的内容,例如3456
之类的内容。
我制作了一个正则表达式,但它不是很好(\$item_id \=\s)\d+(?:)[^,]
任何人都可以帮我一点吗?
答案 0 :(得分:1)
如果您的数据分开,您可以使用
^\$item_id *= *\d+$
此处,^
将匹配行开头,$
将匹配行结束, *
将匹配0+空格。注意我没有使用\s
以便不跨行匹配。
如果你想匹配$item_id=123
类似可能在一行上多次出现的子串,你可以使用
\$item_id *= *\d++(?!,)
或
\$item_id *= *\d+\b(?!,)
此处,如果在最后一位数字后面有逗号,则\d++(?!,)
将占有1位数并且(?!,)
否定前瞻将使整个匹配失败。 \d+\b(?!,)
将以类似的方式工作,但\b
- 字边界 - 在最后一个数字与\d+
匹配后将需要非字母字符串或字符串结尾。
答案 1 :(得分:-1)
为避免部分匹配,请在结尾附加$,请尝试以下操作:
^[0-9]*$