我有一个字符串和一个正则表达式。
字符串看起来像DH18
我有我的正则表达式 ([a-zA-Z]*)([0-9]*)
它将字母和单词分开
我只想要数字,所以它包含在第二个大括号中。我该如何引用它。
我想要这样的声明
if ($1 == 18)
blah;
最佳答案
您可以对不需要的部分使用非捕获组或后视:
(?:[a-zA-Z]*)([0-9]*) // Non-capturing group
(?<=[a-zA-Z]*)([0-9]*) // Lookbehind
请注意,正则表达式仅将组作为字符串返回,即使该组代表一个数字也是如此。因此,检查$1 == 18
需要使用equals()
:
if (matcher.group(1).equals("18")) {
...
}
关于java - 正则表达式引用 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20495144/