亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

匹配空格但不匹配換行符

匹配空格但不匹配換行符

匹配空格但不匹配換行符我有時想要匹配空格而不是換行符。到目前為止,我一直在訴諸[ \t]。有一種不那么尷尬的方式嗎?
查看完整描述

3 回答

?
BIG陽

TA貢獻1859條經驗 獲得超6個贊

Perl的版本5.10和更高版本支持子公司的垂直和水平的文字類,\v\h,以及通用的空白字符類\s

最干凈的解決方案是使用水平空白字符類\h。這將匹配ASCII集中的制表符和空格,擴展ASCII中的不間斷空格或任何這些Unicode字符

U+0009 CHARACTER TABULATION
U+0020 SPACE
U+00A0 NO-BREAK SPACE (not matched by \s)

U+1680 OGHAM SPACE MARK
U+2000 EN QUAD
U+2001 EM QUAD
U+2002 EN SPACE
U+2003 EM SPACE
U+2004 THREE-PER-EM SPACE
U+2005 FOUR-PER-EM SPACE
U+2006 SIX-PER-EM SPACE
U+2007 FIGURE SPACE
U+2008 PUNCTUATION SPACE
U+2009 THIN SPACE
U+200A HAIR SPACE
U+202F NARROW NO-BREAK SPACE
U+205F MEDIUM MATHEMATICAL SPACE
U+3000 IDEOGRAPHIC SPACE

垂直空間圖案\v是用處不大,但這些字符匹配

U+000A LINE FEED
U+000B LINE TABULATION
U+000C FORM FEED
U+000D CARRIAGE RETURN
U+0085 NEXT LINE (not matched by \s)

U+2028 LINE SEPARATOR
U+2029 PARAGRAPH SEPARATOR

有七個垂直空白字符匹配\v,十八個水平字符匹配\h。\s匹配二十三個字符

所有空白字符都是垂直水平沒有重疊,但它們不是正確的子集,因為它們\h也匹配U + 00A0 NO-BREAK SPACE,\v也匹配U + 0085 NEXT LINE,兩者都不匹配\s


查看完整回答
反對 回復 2019-08-09
?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

/[^\S\r\n]/

這個正則表達式比/[^\S\n]/沒有更安全\r。我的理由是Windows \r\n用于換行,并使用Mac OS 9 \r。如果\r沒有\n現在的話,你不可能找到它,但是如果你確實發現了它,除了新行之外它并不意味著什么。因此,既然\r可以表示換行符,我們也應該排除它。


查看完整回答
反對 回復 2019-08-09
  • 3 回答
  • 0 關注
  • 2641 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號