我想捕获没有下划线的字母数字组

时间:2019-05-16 04:38:13

标签: java regex

我想捕获正则表达式中的字母数字组,以使其不捕获下划线。例如,_reverse(abc)应该返回reverse(。我正在使用(?<name>\w+),但它是return _reverse(

3 个答案:

答案 0 :(得分:0)

您可以明确指定字符,例如:

[a-zA-Z0-9]+

答案 1 :(得分:0)

您可以尝试一下,

[^a-zA-Z0-9()\\s+]

输出将为reverse(abc)

答案 2 :(得分:0)

根据您所显示的内容,我假设您要在下划线和圆括号后面加上下划线和内容。

基本上,应该使用这样的正则表达式:

"_([a-zA-Z0-9]+\()"

这可以与Matcher结合使用以提取所有捕获组(在这种情况下为[a-zA-Z0-9]+\()并返回它们。

请注意,您可以在RegEx 101RegEx Per等实用工具网站上找到正则表达式所需的几乎所有帮助,后者是不错的可视化工具,但只能与类似javaScript的工具一起使用表达式。 另外,RegEx 101包含一个Regex调试器,以帮助避免dangerous regular expressions