2 回答

TA貢獻1820條經驗 獲得超9個贊
頭腦:
{0,1}
=?
{0,}
=*
{1,}
=+
使用
(\d+\.?\d*萬?-?\d*\.?\d*萬?)元?/(?!套)
查看證明
解釋
--------------------------------------------------------------------------------
( group and capture to \1:
--------------------------------------------------------------------------------
\d+ digits (0-9) (1 or more times (matching
the most amount possible))
--------------------------------------------------------------------------------
\.? '.' (optional (matching the most amount
possible))
--------------------------------------------------------------------------------
\d* digits (0-9) (0 or more times (matching
the most amount possible))
--------------------------------------------------------------------------------
萬 '萬'
--------------------------------------------------------------------------------
;? ';' (optional (matching the most amount
possible))
--------------------------------------------------------------------------------
-? '-' (optional (matching the most amount
possible))
--------------------------------------------------------------------------------
\d* digits (0-9) (0 or more times (matching
the most amount possible))
--------------------------------------------------------------------------------
\.? '.' (optional (matching the most amount
possible))
--------------------------------------------------------------------------------
\d* digits (0-9) (0 or more times (matching
the most amount possible))
--------------------------------------------------------------------------------
萬 '萬'
--------------------------------------------------------------------------------
;? ';' (optional (matching the most amount
possible))
--------------------------------------------------------------------------------
) end of \1
--------------------------------------------------------------------------------
元 '元'
--------------------------------------------------------------------------------
;? ';' (optional (matching the most amount
possible))
--------------------------------------------------------------------------------
/ '/'
--------------------------------------------------------------------------------
(?! look ahead to see if there is not:
--------------------------------------------------------------------------------
套 '套'
--------------------------------------------------------------------------------
) end of look-ahead

TA貢獻1815條經驗 獲得超6個贊
如果我理解正確的話,使用向前看和向后看這相當簡單......
(?<=:)(\d+)(?!.*套) : Using positive look behind to make sure the number is preceded by a colon, doesn't include the colon in the "full match"
:(\d+)(?!.*套) : Not using positive look behind; colon is included in "full match" but not in groups
(?<=:)(\d+)(?!.*套)
(?<= : Start of positive look behind
: : String to search for
) : End of positive look behind
( : Start of capture group
\d+ : Capture any number 1 or more times
) : End of capture group
(?! : Start of negative look ahead
.* : Greedy "capture anything" before string we're trying to avoid
套 : String we're trying to avoid
) : End of negative look ahead
添加回答
舉報