regex 正则表达式从固定长度字符串中只捕获N个字符

rsl1atfo  于 2022-12-14  发布在  其他
关注(0)|答案(1)|浏览(105)

I具有固定数目的字母数字串I需要识别该串的固定长度,然后仅捕获该串的8个字符。
例如字符串:这里我只想捕获长度为10的字符串,即:12345abcde
并且此字符串中只有8个字符,因此捕获的字符串为:小行星12345abc
“qqqq www123 12345abcde ddd33”
我只能捕获字符串本身,如下所示:

(\w){10}

但是我怎么能从这个字符串中只捕捉到8呢?

oyt4ldly

oyt4ldly1#

如果搜索文本中有一个较长的单词,简单的(\w{w})\w{2}就不起作用了--你也会捕获到它。
我的第一个想法是用否定的lookbehind和否定的lookahead来包围它,以确保我们将捕获限制为仅10个字符长的字符串(如果匹配的单词位于字符串的开头或结尾,这也将起作用):

(?<!\w)(\w{8})\w{2}(?!\w)

相关问题