2014-03-03 42 views
3

這是我的字符串刪除字符:無法使用正則表達式

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ 「Lorem存有悲坐阿梅德,consectetur adipisicing ELIT,SED做 eiusmod tempor incididunt UT labore等dolore麥格納aliqua。 UT enim廣告 微量veniam,QUIS nostrud實習ULL

我想刪除所有的字母 'X' 和 '♥'

繼承人我的代碼:

((>|<|q)?[=:8;]{1}(')?(-)?[><\)\(\/cdopsx:^*]|\([\w\s]+\)|([:P$])|([|-])|(&#9829;{0,}.)|(x{0,}.)) 

,但它無法正常工作,任何人都可以幫助我......當我在Perl中使用正則表達式

$string =~ s/((>|<|q)?[=:8;]{1}(')?(-)?[><\)\(\/cdopsx:^*]|\([\w\s]+\)|([:P$])|([|-])|(&#9829;{0,}.)|(x{0,}.))//g; 
+1

所以你希望你的結果字符串以「quis nostrud eercitation ull」結尾。在倒數第三個字中的「x」也被刪除)? –

+0

不,只是從前面的字母「Lorem ipsum dolor坐amet,被刪除。」 – jbcedge

+0

我不知道確切的要求,但是使用'[^ ​​\ w \ s ,. ] + |([^ \ W \ d _])\ 1 {3,}'?您可以編輯第一部分以刪除您想要允許的其他字符。第二部分將匹配4個連續的相同字母。 [檢查此演示出](http://regex101.com/r/vC6mI8) – HamZa

回答

0

爲什麼不只是重新在第一個雙引號之前移動所有內容:

s/^[^"]+//