Как я могу объединить следующие RegEx в одно выражение? - PullRequest
0 голосов
/ 27 декабря 2010

Я использую следующий RegEx для удаления тегов HTML из строки

<[^>]*>

Однако это не избавляет от пустых строк. Я нашел этот другой RegEx, который успешно удаляет все пустые строки:

[#Chr(13)##Chr(10)#]+

Я попытался объединить оба как таковой:

ReReplaceNoCase(arguments.string, "(<[^>]*>)([#Chr(13)##Chr(10)#]+)", "", "ALL")

Но это не работает. Для этого я использую ColdFusion, который должен объяснить знаки #.

Я думал, что () использовались для группировки операторов в RegEx, но, похоже, это не сработало в моей попытке объединить два выражения.

Ответы [ 2 ]

1 голос
/ 27 декабря 2010
stripcr(ReReplaceNoCase(arguments.string, "(<[^>]*>)", "", "ALL"))
1 голос
/ 27 декабря 2010

Предполагая, что два ваших регулярных выражения работают так, как вы хотите, вы можете объединить их, используя чередование:

<[^>]*>|[#Chr(13)##Chr(10)#]+

Я сильно подозреваю, что отправленные вами регулярные выражения не на самом деле работают правильно. Я бы посоветовал вам , а не использовать регулярные выражения для разбора HTML, поскольку HTML не является обычным языком. Вместо этого используйте HTML-парсер.

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