正则表达式:Select 个不包含逗号的单词/数字
Regex: Select words /numbers that does NOT CONTAIN Comma
朋友。我有两种句子,数字后跟逗号,不带逗号:
$item_id = 5869,
和
$item_id = 3456
我只想查找不包含逗号的那些,例如 3456
.
我做了一个正则表达式,但不是很好($item_id \=\s)\d+(?:)[^,]
谁能帮我一点忙?
为避免部分匹配,请在末尾附加一个 $,试试这个:
^[0-9]*$
如果您的数据在不同的行上,您可以使用
^$item_id *= *\d+$
这里,^
匹配行首,$
匹配行尾, *
匹配0+空格。注意我没有使用 \s
以免跨行匹配。
如果你想匹配$item_id=123
类可能在一行中出现多次的子串,你可以使用
$item_id *= *\d++(?!,)
或
$item_id *= *\d+\b(?!,)
在这里,\d++(?!,)
将所有格地匹配 1 个以上的数字,如果最后一个数字后有逗号,则 (?!,)
否定前瞻将使整个匹配失败。 \d+\b(?!,)
将以类似的方式工作,尽管 \b
- 单词边界 - 在与 \d+
.[=23= 匹配的最后一个数字之后需要非单词字符或字符串结尾]
朋友。我有两种句子,数字后跟逗号,不带逗号:
$item_id = 5869,
和
$item_id = 3456
我只想查找不包含逗号的那些,例如 3456
.
我做了一个正则表达式,但不是很好($item_id \=\s)\d+(?:)[^,]
谁能帮我一点忙?
为避免部分匹配,请在末尾附加一个 $,试试这个:
^[0-9]*$
如果您的数据在不同的行上,您可以使用
^$item_id *= *\d+$
这里,^
匹配行首,$
匹配行尾, *
匹配0+空格。注意我没有使用 \s
以免跨行匹配。
如果你想匹配$item_id=123
类可能在一行中出现多次的子串,你可以使用
$item_id *= *\d++(?!,)
或
$item_id *= *\d+\b(?!,)
在这里,\d++(?!,)
将所有格地匹配 1 个以上的数字,如果最后一个数字后有逗号,则 (?!,)
否定前瞻将使整个匹配失败。 \d+\b(?!,)
将以类似的方式工作,尽管 \b
- 单词边界 - 在与 \d+
.[=23= 匹配的最后一个数字之后需要非单词字符或字符串结尾]