regex 如何从字符串中获取0(正则表达式)

fhity93d  于 2023-03-09  发布在  其他
关注(0)|答案(3)|浏览(178)

如何从这个字符串中得到0,我就是这么试,谢谢
[^\s\/][\w\s]+[^\s\/]

....text..text./..text.text.text...../.0....... (dots = spaces)

https://regex101.com/r/FeXsEH/1
我需要数组,不带“/”和“所有空格”:

text text
text text text
0
55ooxyrt

55ooxyrt1#

我们还可以将预期浸提描述为:从具有单个填充空间的单词字符开始,保持重复模式,然后是没有填充空间的最后单词。
上面的表达式可以转换为以下正则表达式:

(\w+\s)*\w+

regex101 link中的输出:

text text
text text text
0
yyhrrdl8

yyhrrdl82#

您可以匹配一个或多个单词字符,然后可以选择重复一个或多个空格字符,后面再跟一个或多个单词字符:

\w+(?:\s+\w+)*
    • 说明**
  • \w+匹配1+个字字符
  • (?:非捕获组作为整个部分重复
  • \s+\w+匹配1+个空格字符和1+个单词字符
  • )*关闭非捕获组并重复(可选)

参见regex demo

fafcakar

fafcakar3#

这是一个相当困难和有趣的问题:

(?!\s)[\w\s]+(?<!\s)

解释:

    • *(?!\s)**如果前面没有空间,请继续执行下面的步骤
    • *[\w\s]***匹配尽可能多的字母数字字符和空格。
    • *(?〈!\s)**,如果前面没有空格,则不匹配任何内容,这意味着它有一个字母数字字符,因此在此处结束匹配,不捕获任何额外的空格。

相关问题