[a-zA-Z]_*[a-zA-Z0-9]*
我的目标是匹配:
astring_something;
helloall90
但不是:
Astring
_helloall
我的正则表达式正在保护我,标识符应以小写字母开头。但它不适用于 _
情况。传递字符串:
astring_something;
没有被正确识别。它被识别为 astring
和 something
遗漏了 _
。
我哪里出错了?
最佳答案
我想您希望它以一个字母开头,后跟零个或多个字母、数字或下划线。如果是这样,您需要将下划线移动到第二组字符中。
更改:
[a-zA-Z]_*[a-zA-Z0-9]*
致:
[a-zA-Z][a-zA-Z0-9_]*
或者,如果必须以小写字母开头:
[a-z][a-zA-Z0-9_]*
关于java - 将标识符与字符串、数字和 _ 进行匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12954521/