Tag: 正则表达式

java正则表达式捕获组

我试图捕获正确的部分:使用java expr,但在下面的代码中,打印的捕获组是整个字符串,有什么问题? String s =”xyz: 123a-45″; String patternStr=”xyz:[ \\t]*([\\S ]+)”; Pattern p = Pattern.compile(patternStr); Matcher m = p.matcher(s); //System.err.println(s); if(m.find()){ int count = m.groupCount(); System.out.println(“group count is “+count); for(int i=0;i<count;i++){ System.out.println(m.group(i)); } }

是否可以在不使用递归或平衡组的情况下将嵌套括号与正则表达式匹配?

StackOverflow鼓励自己回答问题,所以我决定创建这篇文章来分享我最近发现的东西。 问题 :在正则表达式中匹配任意嵌套的括号组,例如Java的java.util.regex ,既不支持递归也不支持平衡组。 即,匹配3个外部组: (第一第二第三))))))) 这个练习纯粹是学术性的,因为我们都知道正则表达式不应该被用来匹配这些东西,就像Q-tips不应该被用来清理耳朵一样。

给定一个字符串,生成一个可以解析*类似*字符串的正则表达式

例如,给定字符串“2009/11/12”我想得到正则表达式(“\ d {2} / d {2} / d {4}”),所以我将能够匹配“2001 / 01/02“也是。 有什么东西可以做到吗? 相似的东西? 任何想法’如何做到这一点?

正则表达式适用于在线测试程序但在java中失败

我有以下正则表达式( 链接 ) [\d\.]+[ ](.*?)[ ]{2,}(.+) 但是,等效的Java代码无法匹配: String REGEX = “[\\d\\.]+[ ](.*?)[ ]{2,}(.+)”; Pattern pattern = Pattern.compile(REGEX); String line = “1. QUEEN WE ARE THE CHAMPIONS” Matcher matcher= pattern.matcher(line); String artist = matcher.group(0); String song = matcher.group(1); 我似乎无法理解出了什么问题,任何想法?

正则表达式找到整个单词

如何在字符串”I am in the EU.” “EU”中存在整个单词,即”EU” ,我怎么才能找到”I am in the EU.” 虽然不匹配”I am in Europe.”这样的案件”I am in Europe.” ? 基本上,我想要一些正则表达式,即”EU” ,两边都有非字母字符。

`Greedy`和`Reluctant`正则表达式量词有什么区别?

来自Pattern javadocs: 贪心量词: X? X,曾经或根本没有 X * X,零次或多次 X + X,一次或多次 X {n} X,正好是n次 X {n,} X,至少n次 X {n,m} X,至少n但不超过m倍 不情愿的量词: X?? X,曾经或根本没有 X*? X,零次或多次 X +? X,一次或多次 X {N}? X,正好是n次 X {N,}? X,至少n次 X {N,M}? X,至少n但不超过m次 他们所做的事情的描述是一样的…那么,有什么区别? 我真的很感激一些例子。 我使用Java编写代码,但我听说这个概念对于大多数现代正则表达式实现都是一样的。

将匹配Java方法声明的正则表达式

我需要一个匹配java方法声明的正则表达式。 我想出了一个与方法声明相匹配的方法,但它要求方法的左括号与声明位于同一行。 如果您有任何改进我的正则表达式的建议或只是有一个更好的建议,请提交答案。 这是我的正则表达式: “\w+ +\w+ *\(.*\) *\{” 对于那些不知道java方法是什么样的人,我将提供一个基本的方法: int foo() { } Java方法有几个可选部分也可以添加,但这些部分是保证方法的唯一部分。 更新:我当前的正则表达式是”\w+ +\w+ *\([^\)]*\) *\{“以防止Mike和adkom描述的情况。

如何使用java正则表达式来匹配一行

原始数据是: auser1 home1b auser2 home2b auser3 home3b 我想匹配一行,但它不能使用^(.*?)$ 但是,我可以使用a(.*?)b来匹配user1 home1 。 我怎样才能匹配auser1 home1b

java正则表达式unclosed字符类

我需要一些帮助。 我越来越: Caused by: java.util.regex.PatternSyntaxException: Unclosed character class near index 24 ^[a-zA-Z└- 0-9£µ /.’-\]*$ ^ at java.util.regex.Pattern.error(Pattern.java:1713) at java.util.regex.Pattern.clazz(Pattern.java:2254) at java.util.regex.Pattern.sequence(Pattern.java:1818) at java.util.regex.Pattern.expr(Pattern.java:1752) at java.util.regex.Pattern.compile(Pattern.java:1460) at java.util.regex.Pattern.(Pattern.java:1133) at java.util.regex.Pattern.compile(Pattern.java:823) 这是我的代码: String testString = value.toString(); Pattern pattern = Pattern.compile(“^[a-zA-Z\300-\3770-9\u0153\346 \u002F.’-\\]*$”); Matcher m = pattern.matcher(testString); 我必须使用unicode值,因为我正在使用xhtml。 任何帮助都会很棒!

正则表达式编号介于1和100之间

我搜索了很多,但找不到这个RegExp的解决方案(我不得不说我在Reg。表达方面不是很有经验)。 Regex = ^[1-9]?[0-9]{1}$|^100$ 我想测试1到100之间的数字,不包括0