2017-01-27 3 views
1

私はアドレスを解析しようとしていますが、単語avenueが通りの名前としても一致する必要があるため、一致する「ave」で終わる通りの問題に取り掛かります。例えばRegexは行の末尾に "ave"と一致しません

Regex Test

(?<=[\d\w])((?!\s(court|ct|street|st|drive|dr|lane|ln|road|rd|blvd|cir|trl|trail|crossing|xing|pl|place|ave\s|cv|cove|trce|trace|mnr|way|loop|bnd|bend|lndg|landing|path|pkwy|parkway|pass|rdg|ridge|vw)).)* 

:単に "AVE" の末尾にスペースを追加する

123 testing blah ave 
MATCH: testing blah ave 
EXPECTED: testing blah 

123 avenue d 
MATCH: avenue d 
EXPECTED: avenue d 

は、しかし、それはスペースを持って文句を言わない試合を修正します。

+0

'\ s'を追加することで、' ave'の後ろに空白があると主張しています。 –

+0

私はそれが間違っていることを知っていますが、しかし、より良い解決策を望んでいます。 –

+0

あなたは** avenue **と一致する正規表現を探していますか?** ** ave **? – Salman

答えて

1

ave\sの代わりにave\bを使用してください。 aveの後にスペースが続く場合は、同じ効果があります。 aveの後に行末がある場合、\bは一致しますが、\sは実際には存在しません(実際にはスペースが必要です)。

関連する問題