Что оценивает регулярное выражение $$?
ответ
Это зависит только от основного двигателя регулярных выражений. Например, в vim он будет соответствовать знаку доллара в конце строки. Я предполагаю, что Posix потребует, чтобы движок соответствовал тому же, что и «$», поскольку этот литерал имеет длину 0, как указал Томалак.
Это зависит от основного двигателя регулярных выражений. Но в .Net Framework System.Text.RegularExpressions.Regex class, $ в регулярных выражениях указывает, что совпадение должно происходить в конце строки, перед \ n в конце строки или в конце строки, так что $$ будет соответствовать всем!
($$ имеет другой смысл в шаблонах замены, который заменяет один «$» буквальные.)
«$$» будет соответствовать всем, с точки зрения «каждого символа в строке»? Ты уверен? – Tomalak
«$$» будет соответствовать всем, с точки зрения «каждой строки». // Возвращаемое значение true для любого заданного текста private static bool IsMatch (текст строки) { Возвращает новый System.Text.RegularExpressions.Regex ("$$"). IsMatch (текст); } – CSharper
Хм ... Когда вы смотрите на это так, это правда. Вы сделали это так, как будто это было особенное свойство «$$», но оно одинаково верно для «^» или «$» или «. *». Ключевой вопрос остается без ответа - что он * соответствует *? – Tomalak
Обычно это согласовань для отслуживших линии, но это зависит, на каком языке вы используете. Без этой конкретной информации трудно ответить.
BTW, в csh означает номер процесса. Это не регулярное выражение.
Луис
Не знал, что csh был движком регулярных выражений ... – soulmerge
Эта конструкция вряд ли будет происходить только в языках, которые позволяют переменной интерполяции в регулярном выражении. В этом случае он, скорее всего, будет соответствовать идентификатору процесса текущего процесса (поскольку $$
обычно является переменной, которая содержит идентификатор процесса).
в Perl, вложение $$
в регулярное выражение приведет к PID процесса Perl вставляется
# Suppose perl has a PID of 5432
my $str1 = "some";
my $str2 = "5432";
print "1 match: $str1" if $str1 =~ /^$$/;
print "2 match: $str2" if $str2 =~ /^$$/;
Выход:
2 match: 5432
Вставка одной $
будет соответствовать конец строки ,
Это зависит от языка программирования и регулярного выражения.
- В Perl
/$$/
соответствует PID (идентификатор процесса) текущего процесса (см. Больше в ответе dsm). - В Ruby оба
/$$/
и/$/
соответствуют пустой строке перед первой новой строкой, или конец строки, если в строке нет строк новой строки. - В Python оба
re.search('$$', s)
иre.search('$', s)
соответствуют пустой строке перед последней новой строкой или в конце строки, если в строке нет строк новой строки. - (другие языки или регулярные выражения двигателей могут вести себя по-разному.)
Пожалуйста, обратите внимание, что флаги (обычно s
и m
флагов), связанные с регулярным выражением влияют какие $
матчей. В приведенных выше элементах используются флаги по умолчанию.
- 1. Что означает $ $ регулярное выражение?
- 2. Что означает регулярное выражение '/^$/d'?
- 3. Что означает это регулярное выражение?
- 4. Что означает это регулярное выражение?
- 5. Что означает это регулярное выражение [^}] *
- 6. Что означает это регулярное выражение?
- 7. Что означает это регулярное выражение?
- 8. Что означает регулярное выражение (? <! -)
- 9. Что означает это регулярное выражение?
- 10. Что означает это регулярное выражение?
- 11. Что означает это регулярное выражение (\ /?)?
- 12. Что означает это регулярное выражение?
- 13. Что означает это регулярное выражение?
- 14. , что это регулярное выражение означает «/\/?(?:\?.*)?$/»
- 15. Что означает это регулярное выражение?
- 16. Что означает это регулярное выражение - "\ p {Lu}"?
- 17. Что означает регулярное выражение \ | (? = \ W =>)?
- 18. Что означает «[\ x09- \ x0d - ~]" регулярное выражение?
- 19. Что означает регулярное выражение /[^\d|\-+|\.+]/g?
- 20. Что означает это регулярное выражение в django?
- 21. Что это регулярное выражение означает, и почему
- 22. Что делает (? I) \\. регулярное выражение означает?
- 23. Что означает это регулярное выражение? (^.) (\ w +) (. $) $ 2
- 24. Что означает dojo config djConfig.js регулярное выражение
- 25. Что такое регулярное выражение "(?:^(?: dont) $)" означает?
- 26. Что означает регулярное выражение [. \ D \ D] *?
- 27. Что означает это регулярное выражение JavaScript /[^\d.-]?
- 28. Что означает регулярное выражение (\ d {3}) (? = \ D)?
- 29. Что означает это регулярное выражение в PHP?
- 30. Что означает это регулярное выражение VimL? % [MRHWY]
Звучит как домашнее задание для меня ... – Tomalak
Какой ты вариант, о котором вы говорите? – Cerebrus
Я думаю, что он означает POSIX. Теперь мне любопытно и копать, хотя posix regex, чтобы увидеть, как POSIXALLY_CORRECT может повлиять на него. Я подозреваю, что regcomp будет соответствовать буквальному $, за которым следует конец строки, в зависимости от этой переменной окружения. –