Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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,说我有这篇课文 我需要想些东西写在这里。 我是该学院的校友。 蓝猫是蓝的,红猫是红的 如果文本中不存在单词“student”(忽略大小写),我希望能够选择所有内容。因此,我需要一些超越第一行的东西。我本来有点像 /(?:[^student]).*/ 但它不能正常工作。我不确定我使用的正则表达式的“风格”,但它是与PHP一起使用的,并且是在Drupal站点的后端 谢谢大家! 问题 正如ctwheels评论所建议的,您编写的regexp(?:[^student]).*并没有按照您认为的那样执行。

说我有这篇课文

我需要想些东西写在这里。 我是该学院的校友。 蓝猫是蓝的,红猫是红的

如果文本中不存在单词“student”(忽略大小写),我希望能够选择所有内容。因此,我需要一些超越第一行的东西。我本来有点像

/(?:[^student]).*/ 
但它不能正常工作。我不确定我使用的正则表达式的“风格”,但它是与PHP一起使用的,并且是在Drupal站点的后端


谢谢大家!

问题

正如ctwheels评论所建议的,您编写的regexp
(?:[^student]).*
并没有按照您认为的那样执行。让我们详细分析您试图说明问题的原因:


(?:)
如果匹配,使用匹配,如果不使用整个字符串呢?
^(?!student.*$
^((?!student)。*$
?lol我也在想同样的事情你显然不明白正则表达式中
[^student]
的意思<代码>[]不用于对字符串进行分组,而是用于指定字符类。@ctwheels这两种方法都有效,但我认为我现在遇到的问题来自drupal。是否有一种方法可以替换。*在您的解决方案中,让它搜索和选择多行?您可以尝试显式匹配新行,但我避免使用regexp进行多行分析。如果您有较长的文本,我建议您在整个文件中查找单词“student”,而不是使用简单的逐行字符匹配器,如。