Java regex Lookaround

  1. see: http://www.rexegg.com/regex-lookarounds.html
  2. Four ways of using lookarounds:
    • (?= lookahead
      • (?=\d{3} dollars).{3} (Lookahead). Looks ahead for three digits followed by " dollars". Matches "100" in "100 dollars"
    • (?! negative lookahead
      • (?!=\d{3} pesos)\d{3} (Negative Lookahead). Makes sure what follows is not three digits followed by " pesos". Matches "100" in "100 dollars"
    • (?<= lookbehind
      • (?<=USD)\d{3} (Lookbehind). Makes sure "USD" precedes the text to be matched. Matches "100" in "USD100"
    • (?<! negative lookbehind
      • (?<!USD)\d{3} (Negative Lookbehind). Makes sure "USD" does not precede the text to be matched. Matches "100" in "JPY100"
  3. Lookaround after match:
    • \d{3}(?= dollars) (Lookahead). Makes sure " dollars" follows the three digits to be matched. Matches "100" in "100 dollars"
    • \d{3}(?! dollars) (Negative Lookahead) Makes sure " dollars" does not follow the three digits to be matched. Matches "100" in "100 pesos"
    • .{3}(?<=USD\d{3}) (Lookbehind). Looks behind for "USD" followed by three digits. Matches "100" in "USD100"
    •  \d{3}(?<!USD\d{3}) (Negative Lookbehind). Makes sure what precedes is not "USD" followed by three digits. Matches "100" in "JPY100"
  4. n
  5. n
  6. n
  7. n
posted @ 2013-10-22 01:39  wxwcase  阅读(199)  评论(0编辑  收藏  举报