#python #regex
#python #регулярное выражение
Вопрос:
Я работаю над регулярным выражением python, я столкнулся с этой проблемой.
Действительный номер мобильного телефона — это десятизначное число, начинающееся с 7,8 или 9. мое решение для этого было :
if len(x)==10 and re.search(r'^[7|8|9] [d ]
из-за чего я получал ошибку. позже я изменил его на
if len(x)==10 and re.search(r'^[7|8|9] d
для которого все тестовые примеры пройдены. Я хочу знать, в чем разница между использованием и неиспользованием []
for d
в регулярных выражениях?
Спасибо
Комментарии:
1.
[d]
было бы правильно,[d ]
означает один символ, который является либо числом, либо плюсом. Также удалите символы|
s из класса символов, так как они рассматриваются как просто буквальные|
2. Я думаю, вам нужно прочитать руководство по регулярным выражениям. Кажется , вы используете
[]
то , что вам действительно нужно()
.3.
[]
ищет внутри один символ. Например:[abc]
ищитеa
,b
илиc
.
Ответ №1:
[d ]
= одна цифра ( 0-9
) или
символ.
d
= одна или несколько цифр.
Комментарии:
1. Escape-последовательности работают внутри
[]
, так что это цифра или.
Ответ №2:
Вы также могли бы сделать:
if re.search(r'^[789]d{9}
позволяя регулярному выражению обрабатывать len(x)==10
часть, используя явные длины вместо неограниченных повторений.
Ответ №3:
Я думаю []
, что вам нужно общее объяснение и.
[]
будет совпадать с одним символом, указанным внутри.
Например: [qwe]
будет совпадать с q
, w
или e
.
Если вы хотите ввести выражение внутри []
, вам нужно использовать его как [^ expression]
.
будет соответствовать предыдущему элементу один или несколько раз. Например: qw e
спички qwe
, qwwe
, qwwwwe
, и т.д...
Примечание: это отличается от *
*
совпадений, предшествующих элементу ноль или более раз. т.е. qw*e
совпадений qe
также.
d
совпадения с цифрами. (не только 0-9
, но и цифры из других языковых сценариев.)
Ответ №4:
Я не знаю о сложности, но это тоже работает:
if (len(x)==10 and "789"==x[1:4]):
,x):
из-за чего я получал ошибку. позже я изменил его на
для которого все тестовые примеры пройдены. Я хочу знать, в чем разница между использованием и неиспользованием []
for d
в регулярных выражениях?
Спасибо
Комментарии:
1.
[d]
было бы правильно,[d ]
означает один символ, который является либо числом, либо плюсом. Также удалите символы|
s из класса символов, так как они рассматриваются как просто буквальные|
2. Я думаю, вам нужно прочитать руководство по регулярным выражениям. Кажется , вы используете
[]
то , что вам действительно нужно()
.3.
[]
ищет внутри один символ. Например:[abc]
ищитеa
,b
илиc
.
Ответ №1:
[d ]
= одна цифра ( 0-9
) или
символ.
d
= одна или несколько цифр.
Комментарии:
1. Escape-последовательности работают внутри
[]
, так что это цифра или.
Ответ №2:
Вы также могли бы сделать:
позволяя регулярному выражению обрабатывать len(x)==10
часть, используя явные длины вместо неограниченных повторений.
Ответ №3:
Я думаю []
, что вам нужно общее объяснение и.
[]
будет совпадать с одним символом, указанным внутри.
Например: [qwe]
будет совпадать с q
, w
или e
.
Если вы хотите ввести выражение внутри []
, вам нужно использовать его как [^ expression]
.
будет соответствовать предыдущему элементу один или несколько раз. Например: qw e
спички qwe
, qwwe
, qwwwwe
, и т.д...
Примечание: это отличается от *
*
совпадений, предшествующих элементу ноль или более раз. т.е. qw*e
совпадений qe
также.
d
совпадения с цифрами. (не только 0-9
, но и цифры из других языковых сценариев.)
Ответ №4:
Я не знаю о сложности, но это тоже работает:
,x):
для которого все тестовые примеры пройдены. Я хочу знать, в чем разница между использованием и неиспользованием []
for d
в регулярных выражениях?
Спасибо
Комментарии:
1.
[d]
было бы правильно,[d ]
означает один символ, который является либо числом, либо плюсом. Также удалите символы|
s из класса символов, так как они рассматриваются как просто буквальные|
2. Я думаю, вам нужно прочитать руководство по регулярным выражениям. Кажется , вы используете
[]
то , что вам действительно нужно()
.3.
[]
ищет внутри один символ. Например:[abc]
ищитеa
,b
илиc
.
Ответ №1:
[d ]
= одна цифра ( 0-9
) или
символ.
d
= одна или несколько цифр.
Комментарии:
1. Escape-последовательности работают внутри
[]
, так что это цифра или.
Ответ №2:
Вы также могли бы сделать:
позволяя регулярному выражению обрабатывать len(x)==10
часть, используя явные длины вместо неограниченных повторений.
Ответ №3:
Я думаю []
, что вам нужно общее объяснение и.
[]
будет совпадать с одним символом, указанным внутри.
Например: [qwe]
будет совпадать с q
, w
или e
.
Если вы хотите ввести выражение внутри []
, вам нужно использовать его как [^ expression]
.
будет соответствовать предыдущему элементу один или несколько раз. Например: qw e
спички qwe
, qwwe
, qwwwwe
, и т.д...
Примечание: это отличается от *
*
совпадений, предшествующих элементу ноль или более раз. т.е. qw*e
совпадений qe
также.
d
совпадения с цифрами. (не только 0-9
, но и цифры из других языковых сценариев.)
Ответ №4:
Я не знаю о сложности, но это тоже работает:
,x):
из-за чего я получал ошибку. позже я изменил его на
для которого все тестовые примеры пройдены. Я хочу знать, в чем разница между использованием и неиспользованием []
for d
в регулярных выражениях?
Спасибо
Комментарии:
1.
[d]
было бы правильно,[d ]
означает один символ, который является либо числом, либо плюсом. Также удалите символы|
s из класса символов, так как они рассматриваются как просто буквальные|
2. Я думаю, вам нужно прочитать руководство по регулярным выражениям. Кажется , вы используете
[]
то , что вам действительно нужно()
.3.
[]
ищет внутри один символ. Например:[abc]
ищитеa
,b
илиc
.
Ответ №1:
[d ]
= одна цифра ( 0-9
) или
символ.
d
= одна или несколько цифр.
Комментарии:
1. Escape-последовательности работают внутри
[]
, так что это цифра или.
Ответ №2:
Вы также могли бы сделать:
позволяя регулярному выражению обрабатывать len(x)==10
часть, используя явные длины вместо неограниченных повторений.
Ответ №3:
Я думаю []
, что вам нужно общее объяснение и.
[]
будет совпадать с одним символом, указанным внутри.
Например: [qwe]
будет совпадать с q
, w
или e
.
Если вы хотите ввести выражение внутри []
, вам нужно использовать его как [^ expression]
.
будет соответствовать предыдущему элементу один или несколько раз. Например: qw e
спички qwe
, qwwe
, qwwwwe
, и т.д…
Примечание: это отличается от *
*
совпадений, предшествующих элементу ноль или более раз. т.е. qw*e
совпадений qe
также.
d
совпадения с цифрами. (не только 0-9
, но и цифры из других языковых сценариев.)
Ответ №4:
Я не знаю о сложности, но это тоже работает:
, x):позволяя регулярному выражению обрабатывать len(x)==10
часть, используя явные длины вместо неограниченных повторений.
Ответ №3:
Я думаю []
, что вам нужно общее объяснение и.
[]
будет совпадать с одним символом, указанным внутри.
Например: [qwe]
будет совпадать с q
, w
или e
.
Если вы хотите ввести выражение внутри []
, вам нужно использовать его как [^ expression]
.
будет соответствовать предыдущему элементу один или несколько раз. Например: qw e
спички qwe
, qwwe
, qwwwwe
, и т.д…
Примечание: это отличается от *
*
совпадений, предшествующих элементу ноль или более раз. т.е. qw*e
совпадений qe
также.
d
совпадения с цифрами. (не только 0-9
, но и цифры из других языковых сценариев.)
Ответ №4:
Я не знаю о сложности, но это тоже работает:
,x):
из-за чего я получал ошибку. позже я изменил его на
для которого все тестовые примеры пройдены. Я хочу знать, в чем разница между использованием и неиспользованием []
for d
в регулярных выражениях?
Спасибо
Комментарии:
1.
[d]
было бы правильно,[d ]
означает один символ, который является либо числом, либо плюсом. Также удалите символы|
s из класса символов, так как они рассматриваются как просто буквальные|
2. Я думаю, вам нужно прочитать руководство по регулярным выражениям. Кажется , вы используете
[]
то , что вам действительно нужно()
.3.
[]
ищет внутри один символ. Например:[abc]
ищитеa
,b
илиc
.
Ответ №1:
[d ]
= одна цифра ( 0-9
) или
символ.
d
= одна или несколько цифр.
Комментарии:
1. Escape-последовательности работают внутри
[]
, так что это цифра или.
Ответ №2:
Вы также могли бы сделать:
позволяя регулярному выражению обрабатывать len(x)==10
часть, используя явные длины вместо неограниченных повторений.
Ответ №3:
Я думаю []
, что вам нужно общее объяснение и.
[]
будет совпадать с одним символом, указанным внутри.
Например: [qwe]
будет совпадать с q
, w
или e
.
Если вы хотите ввести выражение внутри []
, вам нужно использовать его как [^ expression]
.
будет соответствовать предыдущему элементу один или несколько раз. Например: qw e
спички qwe
, qwwe
, qwwwwe
, и т.д…
Примечание: это отличается от *
*
совпадений, предшествующих элементу ноль или более раз. т.е. qw*e
совпадений qe
также.
d
совпадения с цифрами. (не только 0-9
, но и цифры из других языковых сценариев.)
Ответ №4:
Я не знаю о сложности, но это тоже работает:
,x):для которого все тестовые примеры пройдены. Я хочу знать, в чем разница между использованием и неиспользованием []
for d
в регулярных выражениях?
Спасибо
Комментарии:
1.
[d]
было бы правильно,[d ]
означает один символ, который является либо числом, либо плюсом. Также удалите символы|
s из класса символов, так как они рассматриваются как просто буквальные|
2. Я думаю, вам нужно прочитать руководство по регулярным выражениям. Кажется , вы используете
[]
то , что вам действительно нужно()
.3.
[]
ищет внутри один символ. Например:[abc]
ищитеa
,b
илиc
.
Ответ №1:
[d ]
= одна цифра ( 0-9
) или
символ.
d
= одна или несколько цифр.
Комментарии:
1. Escape-последовательности работают внутри
[]
, так что это цифра или.
Ответ №2:
Вы также могли бы сделать:
позволяя регулярному выражению обрабатывать len(x)==10
часть, используя явные длины вместо неограниченных повторений.
Ответ №3:
Я думаю []
, что вам нужно общее объяснение и.
[]
будет совпадать с одним символом, указанным внутри.
Например: [qwe]
будет совпадать с q
, w
или e
.
Если вы хотите ввести выражение внутри []
, вам нужно использовать его как [^ expression]
.
будет соответствовать предыдущему элементу один или несколько раз. Например: qw e
спички qwe
, qwwe
, qwwwwe
, и т.д…
Примечание: это отличается от *
*
совпадений, предшествующих элементу ноль или более раз. т.е. qw*e
совпадений qe
также.
d
совпадения с цифрами. (не только 0-9
, но и цифры из других языковых сценариев.)
Ответ №4:
Я не знаю о сложности, но это тоже работает:
,x):из-за чего я получал ошибку. позже я изменил его на
для которого все тестовые примеры пройдены. Я хочу знать, в чем разница между использованием и неиспользованием []
for d
в регулярных выражениях?
Спасибо
Комментарии:
1.
[d]
было бы правильно,[d ]
означает один символ, который является либо числом, либо плюсом. Также удалите символы|
s из класса символов, так как они рассматриваются как просто буквальные|
2. Я думаю, вам нужно прочитать руководство по регулярным выражениям. Кажется , вы используете
[]
то , что вам действительно нужно()
.3.
[]
ищет внутри один символ. Например:[abc]
ищитеa
,b
илиc
.
Ответ №1:
[d ]
= одна цифра ( 0-9
) или
символ.
d
= одна или несколько цифр.
Комментарии:
1. Escape-последовательности работают внутри
[]
, так что это цифра или.
Ответ №2:
Вы также могли бы сделать:
позволяя регулярному выражению обрабатывать len(x)==10
часть, используя явные длины вместо неограниченных повторений.
Ответ №3:
Я думаю []
, что вам нужно общее объяснение и.
[]
будет совпадать с одним символом, указанным внутри.
Например: [qwe]
будет совпадать с q
, w
или e
.
Если вы хотите ввести выражение внутри []
, вам нужно использовать его как [^ expression]
.
будет соответствовать предыдущему элементу один или несколько раз. Например: qw e
спички qwe
, qwwe
, qwwwwe
, и т.д…
Примечание: это отличается от *
*
совпадений, предшествующих элементу ноль или более раз. т.е. qw*e
совпадений qe
также.
d
совпадения с цифрами. (не только 0-9
, но и цифры из других языковых сценариев.)
Ответ №4:
Я не знаю о сложности, но это тоже работает: