1

多くのテキストファイルを解析し、キリル文字を含む引用符で囲まれた文字列を置き換える必要があります。それらには、新しい行、アルファベット以外の文字、および特殊記号(たとえば、「$」またはエスケープされた引用符)が含まれる場合があります。誰かが正規表現を手伝ってもらえますか?

コメントから:

たとえば、phpコード

function hello($word) {
    $word2 = "ха-ха!";
    echo "Привет, $word $word2\n"; 
}
hello('Мир'); 

「ха-ха!」、「Привет、$ word $ word2 \ n」、「Мир」に一致する必要があります

4

2 に答える 2

2

これはうまくいくはずです:

str = 'The cat is under the "таблица"'
regex = /"\p{Cyrillic}+.*?\.?"/ui

str.match(regex){|s| do_stuff_with_each_matching s} 

# or...

str.gsub!(regex){|s| method_that_translates_russian s}

http://rubular.com/r/0Mwbfinjvpでライブをチェックしてください。
http://www.ruby-doc.org/core-1.9.3/Regexp.html

于 2013-01-14T13:58:33.037 に答える
0

".*[^a-zA-Z\d]+.*"少なくとも 1 つの英数字以外の文字を含む、引用符で囲まれた文字シーケンスに一致します。

つまり、一致"aa$bb"し、"a1$b1"

一致しない"aabb"a$b.

これがあなたが望むものであることを願っています(必要なエスケープを追加してください)。

于 2013-01-14T13:32:04.660 に答える