我要搜索的关键字必须以字母开头,然后是字母或字符或什么都没有
我要寻找的东西:x,x2,xx等
我的正则表达式是[A-Za-z] [A-Za-z0-9] + | [a-zA-Z]
我需要忽略诸如INT,WRITE,READ等之类的词,不确定如何实现
另外,如果遇到带引号的字符串,我需要它忽略引号内的内容吗?
有什么帮助吗?
提前致谢。
我不清楚您的问题。如果要接受以字母开头的单词,然后以字母或数字开头(或下划线);但是从列表中排除单词,则可以使用正则表达式:
(?!\b(?:INT|WRITE|READ)\b)\b[A-Za-z]\w*\b
如果要排除列表中所有大写字母组成的单词,请尝试执行以下操作:
(?!(?:\b[A-Z]+\b))\b[A-Za-z]\w*\b
在Java中,我相信您需要将元字符的反斜杠加倍,因此可能是这样的:
"(?!\\b(?:INT|WRITE|READ)\\b)\\b[A-Za-z]\\w*\\b"
如果您还想排除引号中的字符串,则可以使用类似以下内容的方法:
"[^"]+"|((?!\b(?:INT|WRITE|READ)\b)\b[A-Za-z]\w*\b)
然后检查捕获组1中是否有不包含双引号所描绘的短语的内容。
另一个选择是将所有不需要的参数全部替换为-单词列表以及带引号的文本。在Java中,如下所示:
String resultString = subjectString.replaceAll("\"[^\"]*\"|\\b(?:WRITE|INT|READ)\\b", "");
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句