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

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

在regexes中,單詞邊界是什么?

在regexes中,單詞邊界是什么?

Helenr 2019-06-19 14:33:48
在regexes中,單詞邊界是什么?我正在使用Java1.6中的Javaregexes(除其他外,用于解析數字輸出),無法找到\b(“字界”)。我以為-12將是一個“整數字”(與之匹配)。\b\-?\d+\b但這似乎行不通。我很想知道如何匹配空格分隔的數字。例子:Pattern pattern = Pattern.compile("\\s*\\b\\-?\\d+\\s*");String plus = " 12 ";System.out.println(""+pattern.matcher(plus).matches()); String minus = " -12 ";System.out.println(""+pattern.matcher(minus).matches());pattern = Pattern.compile("\\s*\\-?\\d+\\s*"); System.out.println(""+pattern.matcher(minus).matches());返回:truefalsetrue
查看完整描述

3 回答

?
紅顏莎娜

TA貢獻1842條經驗 獲得超13個贊

在大多數regex方言中,單詞邊界是介于\w\W(非字符),如果字符串的開頭或結尾分別以單詞字符([0-9A-Za-z_]).

所以,在字符串中"-12",它將在1之前或2之后匹配。破折號不是一個單詞字符。


查看完整回答
反對 回復 2019-06-19
?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

單詞邊界可以出現在以下三個位置之一:

  1. 在字符串中的第一個字符之前,如果第一個字符是單詞字符。
  2. 在字符串中的最后一個字符之后,如果最后一個字符是一個單詞字符。
  3. 在字符串中的兩個字符之間,其中一個是單詞字符,另一個不是單詞字符。

單詞字符是α-數字;減號不是。摘自Regex教程.


查看完整回答
反對 回復 2019-06-19
?
人到中年有點甜

TA貢獻1895條經驗 獲得超7個贊

我說的是\b-樣式regex邊界實際上是這里.

很短的故事是他們.條件性..他們的行為取決于他們的近在咫尺。

# same as using a \b before:(?(?=\w) (?<!\w)  | (?<!\W) )# same as using a \b after:(?(?<=\w) (?!\w)  | (?!\W)  )

有時候那不是你想要的。詳見我的另一個答案。


查看完整回答
反對 回復 2019-06-19
  • 3 回答
  • 0 關注
  • 627 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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