Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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
Php 正则表达式:后面不跟另一个字母的字母_Php_Regex - Fatal编程技术网

Php 正则表达式:后面不跟另一个字母的字母

Php 正则表达式:后面不跟另一个字母的字母,php,regex,Php,Regex,我需要观察任何包含字母'q'的单词,但是q后面不能紧跟着'u'。例如,它应该只匹配 'qwe'出自:queen qwe。 我正在寻找一个简单的解决方案,我不认为[q]和排除r是整齐的 您可以使用一些单词边界和负面前瞻: (\b[^ ]*?q(?!u).*?\b) (?!u)确保q之后没有u。前面的\b[^]*?和后面的*?\b将捕获单词的其余部分 你可以匹配q,然后“不是u”: 那怎么办呢?这不是一个好的观点。您的解决方案将运行得更好。这是正确的,但您应该在当前正则表达式之后使用\w*,在它之

我需要观察任何包含字母
'q'
的单词,但是q后面不能紧跟着
'u'
。例如,它应该只匹配
'qwe'出自:queen qwe。


我正在寻找一个简单的解决方案,我不认为[q]和排除r是整齐的

您可以使用一些单词边界和负面前瞻:

(\b[^ ]*?q(?!u).*?\b)
(?!u)
确保
q
之后没有
u
。前面的
\b[^]*?
和后面的
*?\b
将捕获单词的其余部分

你可以匹配q,然后“不是u”:


那怎么办呢?这不是一个好的观点。您的解决方案将运行得更好。这是正确的,但您应该在当前正则表达式之后使用\w*,在它之前使用\b。。现在它匹配
qasqua
。。。。它不匹配
伊拉克
不,它仍然不匹配字符串末尾的q。门把手的解决方案更好。你好。对于这个问题(以及您在Regex上的其他问题),我们通常希望看到人们尝试先回答——这就是这里的文化!这将帮助你变得更加自给自足,所以在我看来这是一件好事。如果你想练习,我可以推荐你——底部也有一个有用的提示框。“包含”或“开始”?另外,请定义“单词”-你想在伊拉克的新领导层中匹配什么?只是为了确保…对不起,这两个词是匹配的,不能分开them@JonathanRiekie不,没有。。。看到小提琴了吗?是的。在伊拉克沙漠试穿一下。它将匹配
qi沙漠
。但如果我有:quest qeek omq。它是任何包含一个q而后面没有u的单词。omq肯定应该满足这个要求吗?您应该使用\w而不是“.”
q[^u]