[英]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.