应匹配以下内容:

AAA123
ABCDEFGH123
XXXX123

我能做什么:”。* 123”?


当前回答

不,*将匹配零个或多个字符。您应该使用+,它可以匹配一个或多个。

这个表达式可能更适合你:[A-Z]+123

其他回答

使用模式。匹配任意字符一次,.*匹配任意字符0次或多次,.+匹配任意字符1次或多次。

是的,你可以。这应该有用。

. =除换行符以外的任何字符 \。=实际的点字符 。?= .{0,1} =匹配除换行符0或1之外的任何字符 .* = .{0,} =匹配除换行符以外的任何字符0次或更多次 .+ = .{1,} =匹配除换行符以外的任何字符一次或多次

我喜欢以下几点:

[!- ~]

它匹配所有字符代码,包括特殊字符和正常的A-Z, A-Z, 0-9

https://www.w3schools.com/charsets/ref_html_ascii.asp

例如faker.internet.password(20, false, /[!-~]/)

会生成这样的密码:0+>8*nZ\\*-mB7Ybbx,b>

[^]应该匹配任何字符,包括换行符。[^CHARS]匹配除CHARS之外的所有字符。如果CHARS为空,则匹配所有字符。

JavaScript的例子:

/a[^]*Z/.test("abcxyz \0\r\n\t012789ABCXYZ") // Returns ‘true’.

是的,这是可行的,不过要注意。除非你在编译表达式时传递DOTALL标志,否则不会匹配换行符:

Pattern pattern = Pattern.compile(".*123", Pattern.DOTALL);
Matcher matcher = pattern.matcher(inputStr);
boolean matchFound = matcher.matches();