簡體   English   中英

Java Regex Matcher匹配。 (點),即使它不在模式中

[英]Java Regex Matcher matches . (dot) even if it is not in Pattern

我想解析以分號分隔的字符串,該字符串末尾有或沒有分號

我有正則表達式模式(\\s*\\w+)(\\s*;)* ,我將其解釋為匹配:

0..n空格后跟1..n字符,后跟0..n空格(以分號結尾)。

我的問題是,如果出現“。”,則會出現“錯誤匹配”。 在輸入字符串中示例:

0000.274283;518600.00-F10W;

而不是預期的'0000.274283;' 我得到“ 0000”。

我想念什么?

\\ w匹配任何單詞字符。 因此,您要匹配0-n個空格,后跟1個或多個字母,數字或下划線。 自“。” 不包含在內,則您的正則表達式將不匹配帶有'。'的字符串 因此,為什么只得到0000而不是0000.274283

[^;]+匹配除分號之外的所有內容,因此也許您可以使用此字符將您給定的字符串用分號分隔。

暫無
暫無

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

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