我想捕获一个字符串的子字符串,选择字符的数量,但是如果任何单词被剪切,那么直到最后一个空白。复杂的正则表达式
作为例子,如果是这样的文字:
“这是文字Lorem存有等的例子......”
12个字符会给“这是一封”。在这种情况下,最后一个词被删除,所以结果应该是“这是一个”。
它可能与正则表达式做到这一点?
我想捕获一个字符串的子字符串,选择字符的数量,但是如果任何单词被剪切,那么直到最后一个空白。复杂的正则表达式
作为例子,如果是这样的文字:
“这是文字Lorem存有等的例子......”
12个字符会给“这是一封”。在这种情况下,最后一个词被删除,所以结果应该是“这是一个”。
它可能与正则表达式做到这一点?
^.{0,11}\w\b
这将找到12个字符,其中最后一个是其次是一个字一个字的字符\w
打破\b
。单词中断是一个零长度的断言,可以匹配单词的开头或结尾。
结果:\w\b
确保匹配的最后一个字符是单词的最后一个字符,因此您不会收到部分单词。
替代@ JohnKugelman是:
^([\w\s]{0,12})\s
匹配单词的开头,查找单词和空格(最多12个字符)。或者你可以使用:
^([\w\s]{1,12})\b
哪个不相同,但比赛直到下一个非字字符(空格,标点符号等)
(仅仅只是另一种方法)
非常感谢布拉德。 – Jose3d 2011-01-14 21:06:09
简直太棒了。非常感谢。 – Jose3d 2011-01-14 21:05:51