В чем разница между [pattern]
и (pattern)
? Я не мог найти его на Google, поскольку это не позволяет вводить эти символы. Спасибо.Какая разница между (и [?
ответ
Все, что угодно в []
соответствует только одному символу. Таким образом, вы можете написать [aeiou]
, чтобы соответствовать любому нижнему регистру, или [a-m]
, чтобы соответствовать любой букве в первой половине алфавита. Потому что это всего лишь один символ, вам может понадобиться использовать его в сочетании с +
или *
, если вам нужно несколько символов. Например,
f[aeiou]t
соответствует fat
, но не feet
, тогда как f[aeiou]*t
матчи fat
, foot
, feet
и даже ft
.
С другой стороны, что-то в ()
соответствует столько символов, сколько было бы без круглых скобок. Вы используете ()
, если хотите работать с некоторой частью регулярного выражения. Например, ba(na)*
соответствует ba
и banana
и даже banananana
, так как *
(что означает любое количество вхождений в то, что непосредственно перед ним) действует в целом na
. Кроме того, если вы собираетесь делать замену на основе регулярных выражений, где вы заменяете какую-то часть соответствия новой строкой, то ()
может использоваться для того, чтобы разграничить то, что будет заменено, - например, вы можете заменить какую-либо часть вашей строки соответствует четвертому заключенному в скобки выражению.
()
является для группы (обычно используется для захватов, чередование и т.д.), тогда как []
является для установить символы (или одну формы «класс символов», чтобы быть точными).
Таким образом, структура (abc)
будет соответствовать всей строке "abc"
тогда как [abc]
будет m atch любой одиночный символ из a
, b
или c
.
Хотя для регулярных выражений существуют специфические для платформы аспекты, эта разница довольно стандартная, поэтому любое учебное пособие по регулярному выражению должно охватывать ее.
- 1. какая разница между @ и @ :?
- 2. Какая разница между разделителем $$ и //
- 3. Какая разница между @load() и $ {}
- 4. Какая разница между списком() и []
- 5. Какая разница между нулями?
- 6. Thread Какая разница между
- 7. Какая разница между ними?
- 8. Какая разница между полисервисом и полимером?
- 9. Gremlin Какая разница между transform и sideEffect
- 10. Какая разница между OnKeyListener и OnEditorActionListener?
- 11. какая разница между qs и querystring
- 12. Какая разница между - (пустотой) и + (недействительных) методы
- 13. Какая разница между HttpResponseException и HttpException
- 14. Какая разница между копией и назначением вектора?
- 15. Какая разница между чтением файла и потоком?
- 16. Oracle Какая разница между/и sys?
- 17. Какая разница между обработчиком http и ashx
- 18. Какая разница между «закрытием» и «блоком»?
- 19. Какая разница между тестированием Symfony и браузером
- 20. Какая разница между государственными и частными намерениями
- 21. Какая разница между методами Q.all() и Promise.prototype.all()?
- 22. Какая разница между WAS и IIS?
- 23. Какая разница между `com.example. **` и `com.example. ** {*;}`?
- 24. zk6 какая разница между SelectorComposer и GenericForwardComposer
- 25. Какая разница между делать Alloc и class_createInstance
- 26. Python: какая разница между 'is' и '=='?
- 27. какая разница между document.body.ononline и navigator.onLine
- 28. autoit: какая разница между inetget и inetread
- 29. Какая разница между каскадом и цепочкой
- 30. JQuery какая разница между $ (# id) и $ ([id =])
Просто прочитайте регулярные выражения по википедии. –