import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class RegexUtil {
public static void main(String[] args) {
String argument;
Pattern pattern;
Matcher matcher;
argument = "#a1^b2";
pattern = Pattern.compile("[a-zA-Z]|[0-9]|\\s");
matcher = pattern.matcher(argument);
// find all matching characters
while(matcher.find()) {
System.out.println(matcher.group());
}
}
}
a
1
b
2
#
^
或者更好的方法是遍历它,为参数的每个索引获取TRUE或FALSE标志
false
true
true
false
true
true
我只知道如何使用matcher.find()进行循环,如果有任何帮助,我将不胜感激
您可以在模式中添加(.)
选项(以匹配除换行字符以外的任何字符),并在每次匹配时检查组1是否匹配。如果是,输出false,否则,输出true:
String argument = "#a1^b2";
Pattern pattern = Pattern.compile("[a-zA-Z]|[0-9]|\\s|(.)"); // or "[a-zA-Z0-9\\s]|(.)"
Matcher matcher = pattern.matcher(argument);
while(matcher.find()) { // find all matching characters
System.out.println(matcher.group(1) == null);
请参见Java演示输出:
false
true
true
false
true
true
注这里不需要使用pattern.dotall
,因为模式的“白名单”部分中的\s
匹配换行符。
我想知道为什么这个regex组在Java中不适合我?它在寻找组匹配时抛出异常。我正试着把用破折号隔开的数字匹配起来。
这是一个示例文本:。我无法修改输入文本,我正在从文件中读取长字符串文本。 我想提取以下内容:,,, 为此,我编写了以下正则表达式模式: 我正在使用和类,但是我的Matcher无法使用前面提到的正则表达式找到模式。我在一些在线regex网站上用文本测试了这个regex,令人惊讶的是,它在那里工作。 我哪里做错了? 原始代码: 输出:未打印任何内容
本文向大家介绍java模式匹配之蛮力匹配,包括了java模式匹配之蛮力匹配的使用技巧和注意事项,需要的朋友参考一下 java模式匹配之蛮力匹配 使用示例: 以上所述就是本文的全部内容了,希望大家能够喜欢。
我是不是漏掉了什么?提前感谢!
我对Regex还比较陌生,觉得我错过了一些重要的东西。 我的模式<code>id='([a-zA-Z0-9])IFrame[id='frame'].leftObject中获取单词“frame”。 这是我正在使用的模式和代码的链接。https://regex101.com/r/MmkGZq/2 这是否与C#中的正则表达式与Java中的正则表达式不同有关?
我在angular 5中实现了一个模式,在.ts文件中使用以下代码进行密码验证。这样做的目的是支持至少八个字符,至少一个大写字母、一个小写字母、一位数字和一个特殊字符。请参阅:密码的Regex必须包含至少八个字符、至少一个数字以及大小写字母和特殊字符 我明白了,当我在密码文本框中输入一个字符串时,例如< code>Niladri1!然而,当我输入一个类似于< code>Nopasss123!!,它