Что делает / ([^]. *)\. (.*) / средний?

Циклы могут достигнуть увеличения производительности для Вашей программы. Рекурсия может достигнуть увеличения производительности для Вашего программиста. Выберите, который более важен в Вашей ситуации!

8
задан Community 23 May 2017 в 12:18
поделиться

11 ответов

/([^.]*)\.(.*)/

Давайте разберем это. Начальная и конечная косая черта являются разделителями и обозначают начало и конец регулярного выражения.

Затем идет группа в скобках: ([^.] *) Круглые скобки используются только для группировки связать вместе. Квадратные скобки обозначают «группу символов», что означает, что любой символ внутри этой группы принимается на своем месте. Однако эта группа отменяется первым символом ^ , что меняет его значение. Поскольку единственный символ рядом с отрицанием - точка, он соответствует одному символу, который не является точкой. После квадратных скобок стоит * (звездочка), что означает, что квадратные скобки могут быть сопоставлены ноль или более раз.

Затем мы переходим к \. . Это ускользнувший период. Точки в регулярных выражениях имеют особое значение (кроме экранированных или в группе символов). Это соответствует буквальной точке в тексте.

(. *) - это новая подгруппа, заключенная в скобки. На этот раз точка соответствует любому символу, а звездочка говорит о том, что ее можно повторять столько раз, сколько потребуется.

Таким образом, выражение находит любую последовательность символов (кроме точки), за которой следует один точка, за которой снова следует любой символ.

Edit: Удалена часть о сокращении, так как это противоречит предполагаемой цели регулярного выражения.

31
ответ дан 5 December 2019 в 04:31
поделиться

Это регулярное выражение (оно соответствует не точкам, за которыми следует точка, за которой следует что-нибудь (подумайте, "file.ext")). И вы должны бегать, а не ходить, чтобы узнать о них. Объяснение того, как работает это конкретное регулярное выражение, не поможет вам, поскольку вам нужно начать с упрощения. Итак, начните с учебника по регулярным выражениям и выберите Освоение регулярных выражений .

8
ответ дан 5 December 2019 в 04:31
поделиться

Оригинал: / ([^.] *) \. (. *) /

Разделить это как:
[1] ([^.] *) : Он говорит, что соответствует всем символам, кроме . [период]
[2] \. : соответствует точке
[3] (. *) : соответствует любому символу

, поэтому он становится [1] Соответствуют всем символам, кроме . [период] [2] , пока не найдете . [период] , затем [3] сопоставьте все символы.

6
ответ дан 5 December 2019 в 04:31
поделиться

Все, что угодно, кроме точки, за которой следует точка, за которой следует что угодно.

Вы можете проверить регулярные выражения в regexpal

4
ответ дан 5 December 2019 в 04:31
поделиться

It's a regular expression that roughly searches for a string that doesn't contain a period, followed by a period, and then a string containing any characters.

3
ответ дан 5 December 2019 в 04:31
поделиться

Это регулярное выражение. Регулярные выражения - мощные инструменты, если вы их правильно используете.

Это конкретное регулярное выражение извлекает имя файла и расширение из строки, которая выглядит как «file.ext».

2
ответ дан 5 December 2019 в 04:31
поделиться

Это регулярное выражение, которое разбивает строку на две части: все до первой точки, а затем остаток. Большинство механизмов регулярных выражений (включая Javascript) позволяют вам затем получить доступ к этим частям строки по отдельности (используя $ 1 для ссылки на первую часть и $ 2 для второй части).

2
ответ дан 5 December 2019 в 04:31
поделиться

Это регулярное выражение с некоторыми расширенными возможностями.

Рассмотрим более простую версию: / [^.] * \ .. * / , которая совпадает с выше без скобок. Это будет соответствовать любой строке с хотя бы одной точкой. Когда скобки добавлены и происходит совпадение, переменные \ 1 и \ 2 будут содержать совпадающие части из круглых скобок. У первого будет что-нибудь перед первой точкой. Во второй части все будет после первой точки.

Примеры:

input: foo...bar
\1: foo
\2: ..bar

input: .foobar
\1:
\2: foobar
1
ответ дан 5 December 2019 в 04:31
поделиться

Это регулярное выражение генерирует два совпадающих выражения, которые можно получить.

Две части являются строка перед первой точкой (которая может быть пустой) и строка после первой точки (которая может содержать другие точки).

Единственное ограничение на ввод состоит в том, что он содержит по крайней мере одну точку. Он будет соответствовать "." в отличие от некоторых других ответов, но извлеченные группы будут пустыми.

1
ответ дан 5 December 2019 в 04:31
поделиться

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

0
ответ дан 5 December 2019 в 04:31
поделиться

the . character matches any character except line break characters the \r or \n.

the ^ negates what follows it (in this case the dot)

the * means "zero or more times"

the parentheses group and capture,

the \ allows you to match a special character (like the dot or the star)

so this ([^.]*) means any line break repeated zero or more times (it just eats up carriage returns).

this (.*) part means any string of characters zero or more times (except the line breaks)

and the \. means a real dot

so the whole thing would match zero or more line breaks followed by a dot followed by any number of characters.

For more information and a really great reference on Regular Expressions check out: http://www.regular-expressions.info/reference.html

-2
ответ дан 5 December 2019 в 04:31
поделиться
Другие вопросы по тегам:

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