jjzjj

Java RegEx Matcher.groupCount 返回 0

我知道有人问过这个问题,但我无法解决对于有正文的书对象(西类牙语):"quieromasdinero"(实际上要长很多)我的Matcher不断返回0:Strings="mas";//thisisfortesting,comesfromaListinthit=0;Patternp=Pattern.compile(s,Pattern.CASE_INSENSITIVE);Matcherm=p.matcher(mybooks.get(i).getBody());m.find();System.out.println(s+""+m.groupCount()+""+mybooks.get(i).g

java - 在模式匹配器中使用变量

我有以下内容:if(mobile.matches("[0-9]{6,20}")){...}但我想用变量值替换{6,20},因为它们在某些情况下是动态的。即intminValue=11;intmaxValue=20if(mobile.matches("[0-9]{minValue,maxValue}")){...}如何在RegExp中包含变量?谢谢 最佳答案 使用Java的简单字符串连接,使用加号。if(mobile.matches("[0-9]{"+minValue+","+maxValue+"}")){确实,正如Michael所建

java - Mockito Matchers.any(...) 仅在一个参数上

我想这样做:verify(function,Mockito.times(1)).doSomething(argument1,Matchers.any(Argument2.class));其中argument1是类型Argument1的特定实例,argument2是类型Argument2的任何实例。但是我得到一个错误:org.mockito.exceptions.misusing.InvalidUseOfMatchersException:Invaliduseofargumentmatchers!2matchersexpected,1recorded.Thisexceptionmayoc

java - 拆分嵌套字符串保留引号

我正在用Java开发一个需要嵌套字符串的项目。对于纯文本形式的输入字符串如下所示:Thisis"astring"andthisis"a\"nested\"string"结果必须如下:[0]This[1]is[2]"astring"[3]and[4]this[5]is[6]"a\"nested\"string"请注意,我希望保留\"序列。我有以下方法:publicstaticString[]splitKeepingQuotationMarks(Strings);并且我需要根据给定的规则从给定的s参数中创建一个字符串数组,而不使用Java集合框架或其衍生物。我不确定如何解决这个问题。可以制

java - 用 java8 lambda 函数替换所有

给定以下变量templateText="Hi${name}";variables.put("name","Joe");我想使用以下代码(不起作用)将占位符${name}替换为值“Joe”variables.keySet().forEach(k->templateText.replaceAll("\\${\\{"+k+"\\}"variables.get(k)));但是,如果我采用“旧式”方式,一切都会完美无缺:for(Entryentry:variables.entrySet()){Stringregex="\\$\\{"+entry.getKey()+"\\}";templateTe

java - 字符串中大写字母的正则表达式

我这辈子都弄不明白为什么这个正则表达式不起作用。它应该在给定的字符串中找到大写字母并给我计数。欢迎任何想法。单元测试代码如下:publicclassRegEx{@TestpublicvoidtestCountTheNumberOfUpperCaseCharacters(){StringtestStr="abcdefghijkTYYtyyQ";StringregEx="^[A-Z]+$";Patternpattern=Pattern.compile(regEx);Matchermatcher=pattern.matcher(testStr);System.out.printf("Foun

java - 检索带引号的字符串和引号字符的正则表达式

我有一种语言将字符串定义为由单引号或双引号分隔,其中分隔符通过加倍在字符串中转义。例如,以下都是合法的字符串:'Thisisn''teasytoparse.''ThenJohnsaid,"HelloTim!"'"Thisisn'teasytoparse.""ThenJohnsaid,""HelloTim!"""我有一组字符串(如上定义),由不包含引号的内容分隔。我正在尝试使用正则表达式来解析列表中的每个字符串。例如,这是一个输入:"SomeString#1"OR'SomeString#2'AND"Some'String'#3"XOR'Some"String"#4'HOWDY"Some"

java - 这是 Java 正则表达式实现中的错误吗?

我正在尝试将字符串iso_schematron_skeleton_for_xslt1.xsl与正则表达式([a-zA-Z|_])?(\w+|_|\.|-)进行匹配+(@\d{4}-\d{2}-\d{2})?\.yang.预期结果为false,不应该匹配。问题是对matcher.matches()的调用永远不会返回。这是Java正则表达式实现中的错误吗?importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassHelloWorld{privatestaticfinalPatternYANG_MODULE_

java - 如果多次匹配,有没有办法捕获每个组?

我不知道如何用简单的英语来解释这个问题,所以我用正则表达式来帮助自己。我有类似的东西(这个例子非常简单):((\\d+)-(\\d+)\n)+这个模式一次匹配这些行:123-2332-3213-099-55该模式包含3组:第一个匹配一行,第二个匹配行中的第一个数字,第三个匹配行中的第二个数字。是否有可能获得所有这些数字?匹配器只有3个组。第一个返回99-55,第二个返回99,第三个返回55。中南合作:classTest{privatestaticfinalPatternpattern=Pattern.compile("((\\d+)-(\\d+)\n)+");publicstaticv

java - 我正在尝试使用正则表达式来匹配输入文件中的一行

我有一个输入文件,其中的行包含10列,格式如下:String,OnlyInteger,OnlyString,AlphaNumeric,AlphaNumericoflength7,AlphaNumericoflength7(with1,3,4ascharactersand2,5,6,7asdigits),Decimal(rangefrom0.4to0.8),Decimal,OnlyString,OnlyIntegeroflength5所有10列都在同一行中。我正在尝试使用正则表达式模式仅获取第7、8、9列。我正在尝试使用此正则表达式。有人可以帮忙吗。privatestaticclassR