Как избежать обратной косой черты - PullRequest
0 голосов
/ 10 августа 2011

Я пытаюсь заменить ( на \(, используя регулярное выражение в perl.Это оказывается проблематичным.

$var =~ s/\(/\\\(/g

не похоже на работу.Выражение не исключает обратную косую черту во второй раз, и в результате получается \\(

Есть какие-нибудь хитрости, чтобы сделать эту работу?

Спасибо.

Вы, ребята, были правы.Мой код работает.Он отображался по-другому в командной строке, потому что не интерпретировал его.Извините за потраченное время.

Ответы [ 3 ]

2 голосов
/ 10 августа 2011

Как насчет этого:

$var =~ s/\(/\\\\\(/g
2 голосов
/ 10 августа 2011

Вам нужно сбежать \

perl -e '$var = "((test))"; $var =~ s/\(/\\\\\(/g; print $var'
\\(\\(test))
1 голос
/ 10 августа 2011

Вот код, который вы ищете, замените "/" на другой разделитель, это будет легко.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...