2015-05-29 90 views
0

我需要一个正则表达式来表示“单词最多有30个字符但最接近30个字符”。正则表达式:单词有最多30个字符但最接近30个字符之前

例如,假设我有以下一句:

It is a dark time for the Rebellion. Although the 

的表达式的结果应该返回“安史之乱”。

目前我使用的表达:

(?<=.{30})\b\w+\b 

但是,这将返回 “尽管”。 有人可以帮我摆脱这个困境吗?非常感谢!

回答

1

我想你想这样的事情,

^.{1,30}\b(\w+) 

通过使用单词边界\b,正则表达式引擎会回溯(按顺序找到1到30个字符中的一个词边界),然后尝试匹配单词边界以及以下一个或多个单词字符。

DEMO

OR

^.{1,30}\K\b\w+ 

DEMO

相关问题