簡體   English   中英

如何修改此正則表達式以不允許空格?

[英]How can I modify this regular expression to not allow white spaces?

我有以下正則表達式,用於指定允許用戶鍵入的字符:

@"^[A-Za-z0-9/!\$%\^&\*\(\)\-_\+\[\]\{\}\;\:\'\£\@\#\.\?]*$

我知道' \\s '是空格字符類,但是如何將其添加到正則表達式中以使其排除呢? 我已經在Stack Overflow上進行了搜索-這些問題提供了排除空格的解決方案,但沒有提供如何在現有正則表達式中使用空格的解決方案。 如果我像其他字符一樣添加它,那將意味着“允許空白”?

編輯:不知道為什么這已被標記下來? 感謝大家的回答

在正則表達式中,方括號中的^表示取反,因此加^\\s表示“不是空白”。

首先,您不需要所有這些轉義符。 第二,正則表達式已經不允許使用空格。

@"^[A-Za-z0-9\[\]/!$%^&*()\-_+{};:'£@#.?]*$"

[]定義了一組允許的字符(后跟*表示該字符集中的字符可以為零或多次)。

^匹配開頭,$匹配結尾,因此/ s不在此處的事實意味着不允許使用空格。

在正則表達式中,如果您不寫“ \\ s”。 這意味着您的正則表達式不允許有空格。

例如:1)如果我不想允許任何用戶在文本框中輸入空格,那么正則表達式將寫為:

正則表達式字母=新的正則表達式(@“ ^ [az] * $”);

2)如果允許用戶在文本框中輸入任何空格,則正則表達式將寫為:

正則表達式字母=新的正則表達式(@“ ^ [az \\ s] * $”);

3)在正則表達式中,“ ^”表示開始,“ $”表示結束。

注意:^ \\ s表示否定“ \\ s”

正則表達式regfname =新的正則表達式(@“ ^ [^ \\ s] [a-zA-Z] * $”);

此代碼將不允許有任何空格和無空文本框!

希望這可以幫助您了解正則表達式中空格的概念。

暫無
暫無

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

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