Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 匹配“;字;但不是",;单词(无论什么)“;?_Regex - Fatal编程技术网

Regex 匹配“;字;但不是",;单词(无论什么)“;?

Regex 匹配“;字;但不是",;单词(无论什么)“;?,regex,Regex,我有一个字符串,它可以是“word”或“word(某物)”。如何只匹配“word”,而不匹配“word(something)”?根据正则表达式的风格,您可能可以使用负前瞻。像这样: word(?! \(something\)) 只需检查以确保匹配的单词后面没有空格和单词something 哦,如果字符串中只有单词“word”,您可以: ^word$ 它确保word是字符串的开始(^)和结束($) 但是如果字符串中只有单词“word”,那么您就可以这样做了 wordString == "wor

我有一个字符串,它可以是“word”或“word(某物)”。如何只匹配“word”,而不匹配“word(something)”?

根据正则表达式的风格,您可能可以使用负前瞻。像这样:

word(?! \(something\))
只需检查以确保匹配的单词后面没有空格和单词something

哦,如果字符串中只有单词“word”,您可以:

^word$
它确保
word
是字符串的开始
(^)
和结束
($)

但是如果字符串中只有单词“word”,那么您就可以这样做了

wordString == "word"; // or wordVariable in place of "word", or whatever

从python手册:

(?!…)

这是一个消极的前瞻性断言。如果
与下一个字符集不匹配,则匹配字符


例如,
Isaac(?!Asimov)
只有在后面没有“Asimov”时才会匹配“Isaac”

您可以使用
^word$

此处^符号表示字符串的开始,$表示字符串的结束


因此,它将只与“word”匹配。

根据您在标题和实际问题中不希望匹配的字符串的措辞不同这一事实判断,我假设您不是指字面字符串“whatever”和“something”

如果您使用的是支持负前瞻的正则表达式风格,那么应该可以:

word(?! \([^)]*\))

它一定要放在括号里吗?用
这个词(?!\(something\)
@m.buettner在做的时候,你做了评论:)lol只是忘了把它放在那里