[英]Missing closing bracket
在索引 13 |\?*<":>+[]/' 附近的字符 class 中缺少右括號 我的代碼:
Pattern.compile("|\\?*<\":>+[]/'").matcher(name).matches()
您可以使用
Pattern.compile("[|\\\\?*<\":>+\\[\\]/']+").matcher(name).matches()
正則表達式的意思是:
[
- 正字符 class 的開頭:
|
- pipe\\
- 一個反斜杠(需要在字符串文字中添加額外的反斜杠, "\\\\"
)?
- 一個問號*
- 一個星號<
- 一個開放的尖括號"
- 雙引號:
- 一個冒號>
- 右尖括號+
- 一個加號\[
- 一個[
字符(當[
在字符類中時必須轉義)\]
- 一個]
字符(當]
在字符類中時必須轉義)/
- 正斜杠'
- 一個單引號]+
- 字符 class 結束,出現 1 次或多次。 因此,這將驗證僅包含 1 次或多次出現這些字符的字符串。 如果您需要相反的內容,請在第一個[
之后添加^
:
Pattern.compile("[^|\\\\?*<\":>+\\[\\]/']+").matcher(name).matches()
// ^
String name = "Wiktor Stribiżew";
System.out.println(Pattern.compile("[^|\\\\?*<\":>+\\[\\]/']+").matcher(name).matches());
// => true
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.