Регулярное выражение: Как поместить одинарные кавычки вокруг значений атрибута XML?

// define comparators
final Comparator<Dog> SORT_BY_NAME_ASC = Comparator.comparing(Dog::getName);
final Comparator<Dog> SORT_BY_TAIL_LENGTH_ASC = Comparator.comparing(Dog::getTailLength);

// define a list
List<Dog> kennelList = Collections.emptyList();

// sort list items (you can swap comparators)
kennelList.sort(SORT_BY_NAME_ASC.thenComparing(SORT_BY_TAIL_LENGTH_ASC));

// retrieve items with at least required tailLength
public static List<Dog> filterByTailLength(List<Dog> kennelList, double tailLength) {
    return kennelList.stream()
            .filter(dog -> Double.compare(dog.getTailLength(), tailLength) >= 0)
            .collect(Collectors.toList());
}
5
задан Eugene Yokota 14 December 2008 в 02:32
поделиться

3 ответа

В C# Вы могли записать это как:

resultString = Regex.Replace(subjectString, @"(<.*?id\s*=\s*)(\w+)(.*?>)", "$1'$2'$3", RegexOptions.Multiline);

В VB.Net это просто было бы:

ResultString = Regex.Replace(SubjectString, "(<.*?id\s*=\s*)(\w+)(.*?>)", "$1'$2'$3", RegexOptions.Multiline)

В каноническом Perl Вы могли записать это как:

$subject =~ s/(<.*?id\s*=\s*)(\w+)(.*?>)/$1'$2'$3/mg;

В PHP:

$result = preg_replace('/(<.*?id\s*=\s*)(\w+)(.*?>)/m', '$1\'$2\'$3', $subject);

В Java:

resultString = subjectString.replaceAll("(?m)(<.*?id\\s*=\\s*)(\\w+)(.*?>)", "$1'$2'$3");

В JavaScript:

result = subject.replace(/(<.*?id\s*=\s*)(\w+)(.*?>)/mg, "$1'$2'$3");
4
ответ дан 14 December 2019 в 19:28
поделиться

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

%s/"<input id=\(.\)\/>/"<input id='\1'\/>/g

Это также работало бы:

%s/\("<input id=\)\(.\)\/>/\1'\2'\/>/g
1
ответ дан 14 December 2019 в 19:28
поделиться

Трудно действительно ответить на это со всего одной небольшой выборкой. Для данного демонстрационного текста можно искать regex:

=(\w)

и замените его:

='$1'

или:

='\1'

В зависимости от того, работаете ли язык программирования Вы с, интерпретирует 1$ или \1 как ссылка на первую группу фиксации в тексте замены.

Этот тривиальный поиск-и-замена работает отлично над Вашим данным демонстрационным текстом.

Я боюсь, что это не будет работать над Вашими фактическими данными. Если это так, затем поэтому Ваш демонстрационный текст не описателен для Ваших фактических данных. Самая твердая часть в создании регулярных выражений должна выяснить то, чему Вы хотите соответствовать, и чему Вы не хотите соответствовать. Это - что-то, что необходимо указать в вопросе.

0
ответ дан 14 December 2019 в 19:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: