Java 无法将文本与以下模式匹配:@some words(可选):";sometext“+;链接(可选)
我有以下模式:Java 无法将文本与以下模式匹配:@some words(可选):";sometext“+;链接(可选),java,regex,Java,Regex,我有以下模式: (with some words beginning with # or @)+"+sentence that does not contain any question+" (with some words beginning with # or @) + "+sentence that does not contain any question+"+ with link "+sentence that does not contain any question+" 例如
(with some words beginning with # or @)+"+sentence that does not contain any question+"
(with some words beginning with # or @) + "+sentence that does not contain any question+"+ with link
"+sentence that does not contain any question+"
例如,这里有一些与模式匹配的文本:
#cbc @RBC: "This is the video" http://stackoverflow.com/questions/ask
"This is the video" http://stackoverflow.com/questions/ask
#cbc @RBC: "This is the video"
"This is the video"
这是我的正则表达式:
^(\\s[@|#]\\w+){0,}\".+\"((?:http|https):\\/\\/\\S+){0,}$
这是我的密码:
private static void qoutedWrapped(String commentstr){
String urlPattern = "^(\\s[@|#]\\w+){0,}\".+\"((?:http|https):\\/\\/\\S+){0,}$";
Pattern p = Pattern.compile(urlPattern,Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(commentstr);
if (m.find()) {
System.out.println("yes");
}
}
但当我试着用:
@cbc: "I love u" http://stackoverflow.com/questions/ask
它不起作用
有人能帮忙吗?这是您需要的正则表达式:
^(\\s*[@|#]\\w+)+:\".+\"([http|https]:\\/\\/\\S+)*$
如前所述,使用
*
而不是{0,}
这是您需要的正则表达式:
^(\\s*[@|#]\\w+)+:\".+\"([http|https]:\\/\\/\\S+)*$
^(\\s[@|#]\w+){0,}\".+\"((?:http|https):\\/\\/\\S+){0,}$
如前所述,使用
*
而不是{0,}
这是您需要的正则表达式:
^(\\s*[@|#]\\w+)+:\".+\"([http|https]:\\/\\/\\S+)*$
^(\\s[@|#]\w+){0,}\".+\"((?:http|https):\\/\\/\\S+){0,}$
如前所述,使用
*
而不是{0,}
这是您需要的正则表达式:
^(\\s*[@|#]\\w+)+:\".+\"([http|https]:\\/\\/\\S+)*$
^(\\s[@|#]\w+){0,}\".+\"((?:http|https):\\/\\/\\S+){0,}$
如前所述,使用*
代替{0,}
^(\\s[@|#]\w+){0,}\".+\"((?:http|https):\\/\\/\\S+){0,}$
(\\s[@|#]\\w+
如果要相信您的“非工作”示例,您希望白色字符是组中的第一个字符
@cbc:“我为什么爱你?”http://stackoverflow.com/questions/ask
在^
和[@|#]
之间没有必需的whitechar,因此它将不匹配。我不知道你剩下的正则表达式,但正如你所见,它需要仔细分析
尝试使用诸如
或者使用多个测试输入和正则表达式解释/可视化动态测试正则表达式。使用*
代替{0,}
感觉更自然
(\\s[@|#]\\w+
如果要相信您的“非工作”示例,您希望白色字符是组中的第一个字符
@cbc:“我为什么爱你?”http://stackoverflow.com/questions/ask
在^
和[@|#]
之间没有必需的whitechar,因此它将不匹配。我不知道你剩下的正则表达式,但正如你所见,它需要仔细分析
尝试使用诸如
或者使用多个测试输入和正则表达式解释/可视化动态测试正则表达式。使用*
代替{0,}
感觉更自然
(\\s[@|#]\\w+
如果要相信您的“非工作”示例,您希望白色字符是组中的第一个字符
@cbc:“我为什么爱你?”http://stackoverflow.com/questions/ask
在^
和[@|#]
之间没有必需的whitechar,因此它将不匹配。我不知道你剩下的正则表达式,但正如你所见,它需要仔细分析
尝试使用诸如
或者使用多个测试输入和正则表达式解释/可视化动态测试正则表达式。使用*
代替{0,}
感觉更自然
(\\s[@|#]\\w+
如果要相信您的“非工作”示例,您希望白色字符是组中的第一个字符
@cbc:“我为什么爱你?”http://stackoverflow.com/questions/ask
在^
和[@|#]
之间没有必需的whitechar,因此它将不匹配。我不知道你剩下的正则表达式,但正如你所见,它需要仔细分析
尝试使用诸如
或者使用多个测试输入和正则表达式解释/可视化动态测试正则表达式。同样使用
*
而不是使用{0,}
感觉更自然请用语言(Java?)标记您的问题。另外,修复格式。很难说问题的哪些部分显示了模式,哪些部分是问题文本的一部分。您已经成为SO编辑器的成员两年了,现在应该知道如何在SO编辑器中设置格式。@Barmar抱歉给您带来不便,我更正了:)@Barmar感谢您的建议,但我认为问题出在regx部分,而不是java部分;)请用语言(Java?)标记您的问题,并修复格式。很难说问题的哪些部分显示了模式,哪些部分是问题文本的一部分。您已经成为SO编辑器的成员两年了,现在应该知道如何在SO编辑器中设置格式。@Barmar抱歉给您带来不便,我更正了:)@Barmar感谢您的建议,但我认为问题出在regx部分,而不是java部分;)请用语言(Java?)标记您的问题,并修复格式。很难说问题的哪些部分显示了模式,哪些部分是问题文本的一部分。您已经成为SO编辑器的成员两年了,现在应该知道如何在SO编辑器中设置格式。@Barmar抱歉给您带来不便,我更正了:)@Barmar感谢您的建议,但我认为问题出在regx部分,而不是java部分;)请用语言(Java?)标记您的问题,并修复格式。很难说问题的哪些部分显示了模式,哪些部分是问题文本的一部分。您已经成为SO编辑器的成员两年了,现在应该知道如何在SO编辑器中设置格式。@Barmar抱歉给您带来不便,我更正了:)@Barmar感谢您的建议,但我认为问题出在regx部分,而不是java部分;)