У меня есть эта строкаRegex чтобы найти и удалить символ с конкретным шаблоном
This is [email protected] #1 but page is @001#
(001 является переменным, бывший 01A или 021 и т.д.)
И я хочу, чтобы сделать его
This is [email protected] #1 but page is 001
С этим ^@([0-9]{1,3})#\z
я могу найти строку, которая начинается с «@», и заканчивается символом «#» с макс. 3 символами внутри, но он не совпадает внутри целого текста.
Попробуйте '@ ([0-9] {1,3}) # \ z' и замените на' $ 1'. См. [Demo] (http://regexstorm.net/tester?p=%40%28%5b0-9%5d%7b1%2c3%7d%29%23%5cz&i=This+is+mail%40mail.text+% 231 +, но + PAGE + такое +% 40001% 23 & г =% 241). Если текст, который нужно удалить, находится внутри строки, удалите '\ z' тоже. Является ли '(001 переменным, ex 01a или 021 и т. Д.)' Частью ввода? –
Его немного неясно. Является ли «(001 переменной, ex 01a или 021 и т. Д.)» Частью вашей строки или это просто комментарии к строке? Вы процитировали его так, как если бы он был частью строки, но вы говорите о том, чтобы просто совместить строку @ 001 # с строкой, в то же время удаляя ее из желаемых результатов ... – Chris
'^' означает, что матч должен быть на начало строки, '\ z' в конце. Просто удалите оба, и все должно быть хорошо. ('@ ([0-9] {1,3}) #') –