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
Regex 正则表达式跳转到特定短语_Regex - Fatal编程技术网

Regex 正则表达式跳转到特定短语

Regex 正则表达式跳转到特定短语,regex,Regex,让正则表达式“读取”字符并停在特定短语处进行捕获的最佳方法是什么?我用了很多时间。*?和?将不需要的字符传递到特定的字符串或标记,然后捕获 我想通读任何字符,直到找到一个特定的短语或标记。我通常会做这样的事情 date.*?<.*?>(\w+)<.*?> 日期。*?(\w+) 从一根看起来像 DateStuffAnimal 在一个简单的示例中,这将起作用,但引擎会丢失10K字符的文本以进行匹配。我需要在抓捕的时候更具体一些吗?正则表达式纯英语:跳过字符,直到找到这个短

让正则表达式“读取”字符并停在特定短语处进行捕获的最佳方法是什么?我用了很多时间。*?和?将不需要的字符传递到特定的字符串或标记,然后捕获

我想通读任何字符,直到找到一个特定的短语或标记。我通常会做这样的事情

date.*?<.*?>(\w+)<.*?>
日期。*?(\w+)
从一根看起来像

DateStuffAnimal


在一个简单的示例中,这将起作用,但引擎会丢失10K字符的文本以进行匹配。我需要在抓捕的时候更具体一些吗?正则表达式纯英语:跳过字符,直到找到这个短语,然后捕获

既然您询问如何解析纯文本,我可以建议使用否定字符类,即
[^
+不应该匹配的字符+
]

求反字符类是最有效的正则表达式子模式。考虑

word one#word 2#more text
#(.*)#
将采取18个步骤查找匹配项,并将分6个步骤完成

另外,默认情况下,
与换行符不匹配,您需要使用
(?s)
/s
或其他不同风格的方式指定DOTALL模式


如果需要在2个或更多必需字符之间匹配一些不必要的文本,则必须使用
*
/
*?
(带或不带dotall修饰符),或者-如果需要最接近的匹配-a(特别是,如果必须排除某些子字符串)。

答案是:在需要解析纯文本时使用正则表达式。使用(X)HTML解析器解析(X)HTML代码。使用XML解析器解析XML。使用JSON解析器解析JSON。诸如此类。您是否考虑过使用
生成器
将文本提供给匹配模式?抱歉,没有具体说明:这是用于匹配纯文本的