![](/img/trans.png)
[英]Regex to match key/value with whitespace delimiter, without leading/trailing whitespace, AND value can have spaces
[英]Regex - match a string without leading and trailing spaces
構建一個拒絕未修剪的輸入字符串的表達式。
有一組列入白名單的符號,包括空格 。 但它不能在第一個或最后一個位置使用。 但是,它可以在任何數量的任何前導和修剪白名單之間使用。
有以下表達式:
^[^\s][A-Za-z0-9\s]*[^\s]$
...但它有多種原因無效,至少它仍然在前導位置和尾隨位置匹配任何非空白符號,即使它不是白名單。 此外,即使它與表達式匹配,也不會匹配單個字母單詞。
白名單是AZ,az,0-9,空格。
有效案例:
Abc132 3sdfas // everything ok
案例#1無效:
asd dsadas // leading\trailing space is exist
案例#2無效:
$das dsfds // not whitelisted symbol at the leading\trailing position
那么,如果它不是前導符號或尾隨符號,如何在白名單中添加空白符號?
您可以使用lookarounds來確保兩端都沒有空格:
^(?! )[A-Za-z0-9 ]*(?<! )$
但是如果環境不支持外觀,則以下正則表達式適用於大多數引擎:
^[A-Za-z0-9]+(?: +[A-Za-z0-9]+)*$
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.