簡體   English   中英

如何使用正則表達式驗證字符串中兩個字符之間是否沒有空格

[英]How to validate that there are no spaces between two characters in a string, using regex

我試圖驗證字符串中兩個字符(或名稱中間)之間沒有空格。

我想要一個接受“ab”並拒絕“ab”的正則表達式。

我嘗試使用"\\\\s*((_[a-zA-z]+)|([a-zA-Z]+[a-zA-Z0-9]*))\\\\s*""(\\\\s*\\\\S\\\\s*)"

ps我不關心字符\\ word之前和之后的空格。

提前致謝!

你可以使用\\\\s*\\\\S+\\\\s* `

  • \\\\s*匹配零個或多個空格
  • \\\\S+匹配一個或多個非空格字符
  • \\\\s*匹配零個或多個空格

     System.out.println(" aa ".matches("\\\\s*\\\\S+\\\\s*")); // true System.out.println(" a bc ".matches("\\\\s*\\\\S+\\\\s*")); // false 

注意: matches隱式包括match ^開始和match $ anchors的結束,除非你試圖從數據中獲取指定的匹配,否則不需要捕獲group ()

要僅匹配字母,請使用\\\\s*[a-zA-Z]+\\\\s*

嘗試^\\s*\\w+\\s*$

這將查找零個或多個空格,然后在字符串結尾之前再查找任何單詞字符[a-z0-9_]然后再查找零個或多個空格

見演示

您可以使用{N}准確匹配N個字符

所以,你可以使用:

\\S{2}

它匹配任何兩個非空白字符; 要么

\\w{2}

它匹配兩個單詞字符。

 [a-zA-Z]{2}

兩封信等

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM