※ 引述《montaler (头儿)》之铭言:
: 问题如下;
: 现在有许多字串,他里头会有
: E_sun_day
: sun
: amp_delta_sun_18
: amp_delta_sun_0
: delta_sun
: 这五种跟 sun 有关的字串,但我想用JAVA的 Regular Expression 挑出
: 不包含 E_sun_day 的字串,
: 目前的设定都会挑选到 E_sun_day,不知道板上的强者有没有解法? 谢谢!
/[\w]*(([^E]|[\w]{2,})_sun_day|sun(?!_day))[\w]*/
测试字串 结果
E_sun_day F
sun T
amp_delta_sun_18 T
amp_delta_sun_0 T
delta_sun T
A_sun_day T
LE_sun_day T
L E_sun_day F
E_sun_dayY T
E_sun_day Y F
_sun_day F → 这个照你的意思看来应该是要true
但我加不进去了XD 有待高手帮补了
又如果你的资料就只会有那五种情况
那可以简单一点
/[\w]*sun(?!_day)[\w]*/
这样就好了