簡體   English   中英

使用正則表達式進行Java字符串驗證

[英]Java string validation using regex

我需要使用正則表達式驗證輸入字符串。

要求是:

輸入

  1. 不能以% _開頭

  2. 不得包含&#><

  3. 可能是空的

我已經成功使用[^%_#&<>][^#&<>]*|^$

有沒有更好的方法來解決這個問題?

您的正則表達式是錯誤的,還應該在第一個變體上放置^$約束:

^[^%_#&<>][^#&<>]*|$

這是因為第一種情況可以應用於子字符串

您定義的正則表達式僅聲明:空字符串,或具有至少一個不是%_# ,...的字符的字符串

它認為擬議的正則表達式足夠好。 一些(可能不是Java)正則表達式庫提供了附加功能,以聲明字符串不應包含某個字符。 但是由於正則表達式並不是那么復雜,所以它不會有太大幫助。

暫無
暫無

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

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