簡體   English   中英

正則表達式在開始或結束時沒有空格,但允許中間有空格但也只允許一個字符輸入

[英]Regular expression for no space at start or end, but allow space in middle but also allow only one char inputs

我的RegExpRegExp

/^[A-Za-z ]*$/

那么我應該寫什么來不允許在開始或結束時有空格,但在中間允許空格

此正則表達式將匹配符合原始表達式且開頭或結尾沒有空格的任何字符串

^(?! )[A-Za-z ]*(?<! )$

使用此模式匹配正則表達式

(?=(?:^\w))([A-Za-z ]+)(?<=[^ ])$

演示

http://regex101.com/r/lM1aQ6

我建議您在 php 中使用trim()刪除字符串開頭和結尾的空格。

$hello  = " Hello World ";
trim($hello);

來自PHP 文檔

trim — 從字符串的開頭和結尾去除空格(或其他字符)

我可能會拆分問題:或者它根本不包含空格,或者它只包含在中間。

^[A-Za-z]*$|^[A-Za-z][A-Za-z ]*[A-Za-z]$

它將接受“aa”、“a”、“a ab c”,但不接受“”或“a”...

我認為你需要這個:

<?php 
echo trim("  spaces and spaces    "); // outputs: "spaces and spaces"
?>

我想這對你來說,

\b^([^\s]|[a-zA-Z])\s+[a-zA-Z]\b

這里,

  • \\b 表示詞邊界。
  • ^\\s 禁止空格。
  • | 是一個交替

並感謝分享。

暫無
暫無

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

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