regex - 如何用正则表达式匹配第一个单词?

标签 regex lookbehind word-boundary

例如,在此文本中:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eu tellus vel nunc pretium lacinia. Proin sed lorem. Cras sed ipsum. Nunc a libero quis risus sollicitudin imperdiet.



我想匹配“ipsum”之后的单词。

最佳答案

尽管您应该意识到并非所有的regex风格都支持它们,但这听起来似乎是一项寻找后路的工作。在您的示例中:

(?<=\bipsum\s)(\w+)

这将匹配在“ipsum”后跟一个完整单词的所有字母字符序列。它的与ipsum本身不匹配,例如,在这种情况下,您无需担心会重新插入它。替代品。

但是,正如我所说,某些类型(例如JavaScript)根本不支持后向。许多其他(实际上,大多数)仅支持“固定宽度”后视—因此,您可以使用此示例,但不能使用任何重复运算符。 (换句话说,(?<=\b\w+\s+)(\w+)不起作用。)

关于regex - 如何用正则表达式匹配第一个单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/546220/

相关文章:

C#使用正则表达式解析包含双引号和单引号的字符串

regex - Javacc 正则表达式匹配除某些字符串之外的所有字符串

java - 自定义正则表达式中的边界字符

javascript - 与字边界相比,正则表达式 (\B) 中的非字边界是什么?

ruby - 如何匹配字边界 "or"[@#]?

ruby-on-rails - 在 Rails 模型中进行正则表达式搜索的惯用方法?

java - 如何使用Java正则表达式来匹配这个模式?

Python(Perl 类型)正则表达式先行/后行

regex - 环视是否会影响正则表达式可以匹配哪些语言?