import java.util.regex.Pattern;
class HowEasy {
public boolean matches(String regex) {
System.out.println(Pattern.matches(regex, "abcABC "));
return Pattern.matches(regex, "abcABC");
}
public static void main(String[] args) {
HowEasy words = new HowEasy();
words.matches("[a-zA-Z]");
}
}
输出为False。我要去哪里错了?我也想检查一个单词是否仅包含字母,并且是否可以以单个句点结尾。正则表达式是什么?
即“ abc”“ abc”。有效,但“ abc ..”无效。
我可以使用indexOf()
方法来解决它,但是我想知道是否可以使用单个正则表达式。
"[a-zA-Z]"
仅匹配一个字符。要匹配多个字符,请使用"[a-zA-Z]+"
。
由于点对于任何角色都是小丑,因此您必须屏蔽它:"abc\."
要使点成为可选,您需要一个问号: "abc\.?"
如果在代码中将Pattern作为文字常量编写,则必须屏蔽反斜杠:
System.out.println ("abc".matches ("abc\\.?"));
System.out.println ("abc.".matches ("abc\\.?"));
System.out.println ("abc..".matches ("abc\\.?"));
结合两种模式:
System.out.println ("abc.".matches ("[a-zA-Z]+\\.?"));
\ w通常比a-zA-Z更合适,因为它捕获äöüßø等外来字符:
System.out.println ("abc.".matches ("\\w+\\.?"));
问题内容: 原始数据是: 我想匹配一条线,但是不能使用 但是,我可以使用match 。 我该如何搭配 问题答案: 默认情况下,和分别匹配输入的开始和结束。您需要使用启用多行模式,这会导致并匹配行的开始和结束: 演示: 产生以下输出: 编辑我 没有任何匹配的事实是因为默认情况下,和不匹配。如果您通过启用了DOT-ALL ,也使匹配了它们,那么您将看到整个输入字符串都被匹配了: 编辑二 在这种情况下,
问题内容: 当字符串以数字开头时,我需要匹配,然后是一个点,然后是一个空格和1个或多个大写字符。匹配必须发生在字符串的开头。我有以下字符串。 我尝试过的正则表达式是: 它不匹配。一个有效的正则表达式将对这个问题有什么作用? 问题答案: (对不起,我先前的错误。大脑现在坚定地投入了。嗯,也许。) 这有效: 分解: =字符串开头 =一个或多个数字 (之所以转义,是因为它在字符串中,因此) =文字(或者
问题内容: 我从以下格式的文件中获取输入: 现在,我想在我的Java代码中读取int1,int2,int3和int4。我该如何在Java中使用正则表达式匹配。谢谢。 问题答案: 为了避免空值:
本文向大家介绍中文正则表达式匹配问题之正则表达式中文匹配使用方法,包括了中文正则表达式匹配问题之正则表达式中文匹配使用方法的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要讲如何使用正则匹配中文字符,中文正则表达式的匹配规则不像其他正则规则一样容易记住,下面一起看看这个中文正则表达式是怎么样的。 \w匹配的仅仅是中文,数字,字母,对于国人来讲,仅匹配中文时常会用到,见下 匹配中文字符的正则表达
问题内容: 我正在尝试使用Java匹配多行文本。当我将类与修饰符一起使用时,我可以匹配,但不能. 使用和使用相同的模式似乎无效。 我确定我缺少什么,但不知道是什么。正则表达式不是很好。 这就是我尝试过的 问题答案: 首先,你在错误的假设下使用修饰符。 或告诉Java接受锚点并在每行的开头和结尾进行匹配(否则,它们仅在整个字符串的开头/结尾进行匹配)。 或告诉Java也允许点与换行符匹配。 其次,在
问题内容: 我需要一个与Java方法声明匹配的正则表达式。我想出了一个将与方法声明匹配的方法,但是它要求方法的左括号与声明在同一行。如果您对改善我的正则表达式有任何建议,或者只是有更好的建议,请提交答案。 这是我的正则表达式: 对于那些不知道Java方法是什么样子的人,我将提供一个基本的方法: java方法也可以添加几个可选部分,但是这些是保证方法唯一的部分。 更新:我当前的Regex是为了防止M