[英]Regular expression in JavaScript to match wildcard
我正在嘗試使用JavaScript中的正則表達式來驗證用戶輸入。 有效輸入是至少兩個帶有*
符號的字符。 換句話說,有效格式為
< '*' or nothing><at least two characters>< '*' or nothing>
所以有效輸入是
Mu*
*pa
*pa*
無效的輸入是
*e*
*e*t
*e*t*
pa**
我正在嘗試遵循表情,但無法正常工作。
^{\*}?[A-Za-z]{\*}?$
定義不清楚,但是讓我們假設一個有效的字符串必須具有一個初始或最終*
字符(即,一個根本沒有*
的字符串是無效的)。 是否需要最后一個*
取決於是否存在一個初始*
。 我懷疑(盡管我尚未證明)這意味着您的有效字符串集無法用常規語言描述。
相反,你的語言可以描述為兩個普通漢語語言的結合:一是其字符串結束(和可選的開頭)用一*
,並用一個字符串,其開始(以及可選的結束) *
:
/^\*?\w{2,}\*$|^\*\w{2,}\*?$/
在這里,我們接受
*
(和可選的前導*
)或 *
(和可選的final *
)。 調整: ^\\*?\\w{2,}\\*?$
應該可以解決問題。
糟糕:剛剛注意到@NiettheDarkAbsol注釋中的“提示”-基本上提供了相同的解決方案。
但是,由於有效序列的所有示例都至少帶有一個星號,因此我們可能都錯了。 不過,在“正式”說明中沒有明確指出…
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.