簡體   English   中英

正則表達式可將字符串最多匹配兩個連續的空格

[英]Regex to match string up to two consecutive spaces

我正在使用.NET來測試正則表達式。

我正在努力編寫一個正則表達式來捕獲以兩個空格結尾的字符串中的一段。 例如

This is a test  Start of next bit

我如何捕獲上述字符串的第一部分? This is a test ,知道兩個段被兩個空格(在regex世界中為\\s )分開了嗎?

我已經嘗試過類似的東西:

This is a test[^\s{2}]

但這使我無處可去。

比您擁有的標准正則表達式更標准:

This.*?(?=\s{2})

它與任何字符匹配.*? 直到遇到第一個雙精度\\s (順便說一句, \\s並不完全表示“空格”,它表示任何空格,包括換行符,回車符,換頁符,制表符)。

或者您可以嘗試一些不同的東西; 匹配所有內容,只要它們是單個“空格”即可:

This(?:\s\S+)*

再說一次,在雙倍空格上分割更簡單。

我通過這個SO問題找到了解決方案:

正則表達式排除雙精度空格

This((?!\\s{2}).)*

會符合我的需求。

這個正則表達式瘋狂的東西。

暫無
暫無

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

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