Дословное содержание сложно. Вы должны спросить себя, каково намерение. Если это печатный код, то королем горы будет listings
. Я бы предложил это и определил вашу собственную среду для больших кусков выходных данных, специфичных для кода.
Вот пример:
\documentclass{article}
\usepackage{listings}
\lstnewenvironment{code}[1][]
{\lstset{#1}}% Add/update settings locally
{}
\lstset{% Global options
frame = single,
basicstyle = \ttfamily\small,
language = PHP
}
\begin{document}
My first PHP ``Hello World'' page:
\begin{code}
PHP Test
Hello World'; ?>
\end{code}
When you write \lstinline!PHP Test!, it sets the \textit{title} of the page.
\end{document}
Я не использовал бы regex ни один для этого, но если Вы должны, это выражение должно работать: <customtag>(.+?)</customtag>
Я жевал бы свой собственный участок прочь перед использованием регулярного выражения, чтобы проанализировать и изменить HTML.
Два комментария попросили, чтобы я разъяснился. Работы замены регулярного выражения в конкретном случае в вопросе OP, но в общих регулярных выражениях не являются хорошим решением. Регулярные выражения могут соответствовать регулярным языкам, т.е. последовательности входа, который может быть принят конечным автоматом. HTML может содержать вложенные теги к любой произвольной глубине, таким образом, это не регулярный язык.
Что это имеет отношение к вопросу? Используя регулярное выражение для вопроса OP, как это записано работы, но что если содержание между <customtag>
теги содержат другие теги? Что, если литерал <
символ происходит в тексте? Это были 11 месяцев, с тех пор как Jon Tackabury задал вопрос, и я предположу, что в то время, сложность его проблемы, возможно, увеличилась.
Регулярные выражения являются большими инструментами, и я действительно использую их все время. Но с помощью них вместо реального синтаксического анализатора для входа, которому нужно, каждый собирается работать только в очень простых случаях. Практически неизбежно, что эти случаи растут вне того, что могут обработать регулярные выражения. Когда это произойдет, Вы испытаете желание записать более сложное регулярное выражение, но они быстро становятся очень трудоемкими, чтобы разработать и отладить. Будьте готовы фрагментировать решение для регулярного выражения, когда требования парсинга расширятся.
XSL и DOM являются двумя стандартными технологиями, разработанными для работы с XML или разметкой XHTML. Обе технологии знают, как проанализировать структурированные файлы разметки, отслеживать вложенные теги и позволить Вам преобразовывать атрибуты тегов или содержание.
Вот несколько статей о том, как использовать XSL с C#:
Вот несколько статей о том, как использовать DOM с C#:
Вот библиотека.NET, которая помогает DOM и операциям XSL на HTML:
Если не будет никаких других тегов между двумя тегами, этот regex немного более безопасен, и более эффективен:
<customtag>[^<>]*</customtag>
//This is to replace all HTML Text
var re = new RegExp("<[^>]*>", "g");
var x2 = Content.replace(re,"");
//This is to replace all
var x3 = x2.replace(/\u00a0/g,'');