Java 正则表达式:未找到匹配项
我刚开始学习正则表达式。我正在尝试获取“mytag”标记中的属性值,并使用了以下代码,但没有发现匹配异常Java 正则表达式:未找到匹配项,java,regex,Java,Regex,我刚开始学习正则表达式。我正在尝试获取“mytag”标记中的属性值,并使用了以下代码,但没有发现匹配异常 import java.util.regex.Matcher; import java.util.regex.Pattern; public class dummy { public static void testRegEx() { // String pattern_termName = "(?i)\\[.*\\]()\\[.*\\]";
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class dummy {
public static void testRegEx()
{
// String pattern_termName = "(?i)\\[.*\\]()\\[.*\\]";
Pattern patternTag;
Matcher matcherTag;
String mypattern= "\\[mytag attr1="(.*?)" attr2="(.*?)" attr3="(.*?)"](.+?)\\[/mytag]";
String term="[mytag attr1=\"20258044753052856\" attr2=\"A security \" attr3=\"cvvc\" ]TagTitle[/mytag]";
patternTag = Pattern.compile(mypattern);
matcherTag = patternTag.matcher(term);
System.out.println(matcherTag.group(1)+"*********"+matcherTag.group(2)+"$$$$$$$$$$$$");
}
public static void main(String args[])
{
testRegEx();
}
}
我使用了
\“
来代替”
,但它仍然显示了相同的异常。您忘记了根据find函数检查matcher对象,还需要使用\“
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class dummy {
public static void testRegEx()
{
// String pattern_termName = "(?i)\\[.*\\]()\\[.*\\]";
Pattern patternTag;
Matcher matcherTag;
String mypattern= "\\[mytag attr1="(.*?)" attr2="(.*?)" attr3="(.*?)"](.+?)\\[/mytag]";
String term="[mytag attr1=\"20258044753052856\" attr2=\"A security \" attr3=\"cvvc\" ]TagTitle[/mytag]";
patternTag = Pattern.compile(mypattern);
matcherTag = patternTag.matcher(term);
System.out.println(matcherTag.group(1)+"*********"+matcherTag.group(2)+"$$$$$$$$$$$$");
}
public static void main(String args[])
{
testRegEx();
}
}
而不是“
,”,。该方法扫描输入序列,寻找与模式匹配的下一个子序列
Pattern patternTag;
Matcher matcherTag;
String mypattern= "\\[mytag attr1=\"(.*?)\" attr2=\"(.*?)\" attr3=\"(.*?)\"\\s*](.+?)\\[/mytag]";
String term="[mytag attr1=\"20258044753052856\" attr2=\"A security \" attr3=\"cvvc\" ]TagTitle[/mytag]";
patternTag = Pattern.compile(mypattern);
matcherTag = patternTag.matcher(term);
while(matcherTag.find()){
System.out.println(matcherTag.group(1)+"*********"+matcherTag.group(2)+"$$$$$$$$$$$$");
}
输出:
20258044753052856*********A security $$$$$$$$$$$$
\\s+
或\\s*
缺失
代码:
输出:
20258044753052856 A security cvvc TagTitle
mytag attr1=
\`“20258044753052856\”在何处匹配此
\`为什么在模式中使用
而不是“
?@AvinashRaj I have use\”,但它显示了相同的异常。@vks我无法理解您!我已更改为字符串mypattern=“\[mytag attr1=\\\”(.*?\\“attr2=\\”(.*?\\“attr3=\\”(.*?\\”)\[/mytag]”(.+?);但它仍然不起作用!!