gpt4 book ai didi

java - 正则表达式匹配所有不以数字开头的单词

转载 作者:行者123 更新时间:2023-11-29 10:13:13 32 4
gpt4 key购买 nike

很抱歉提出这些菜鸟问题,但我对正则表达式不是很感兴趣。我有几个这样的句子:

text1.2text: text3,,text4 5. text6=== t7@ text8。 T, 9-- T10 我想使用扫描器返回:

a) 单个字符,b) 包含字符和数字但确实以字符开头的单词。

其他的都可以看作分隔符。

所以在上面的句子中应该返回这些:

text1
text3
text4
text6
t7
text8
T
T10

我可以在扫描仪中使用多个分隔符,例如 "\\.|\\:|\\,|\\,," 等,但它可以是我想要提取的单词之间的任何内容另外,我不认为这是一个很好的方法。

有没有我可以用作分隔符的正则表达式,或者可以在 scanner.hasNext("regex") 中提取这些词?

提前致谢

最佳答案

使用 word boundary :

\b[a-z][a-z0-9]*

Demo


由于单词边界寻找单词字符(\w[a-zA-Z0-9_])与非单词相邻的位置字符(\W[^a-zA-Z0-9_]),这意味着示例字符串 _foo 不匹配(介于_f 不是单词边界)。如果您需要这种情况,请使用 lookbehind 添加辅助零长度断言:

(?:\b|(?<=_))[a-z][a-z0-9]*

Demo

关于java - 正则表达式匹配所有不以数字开头的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26350856/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com