/\((.*)\)/
和/\(([^\)]*)\)/
之间是否存在差异?
特别是,第二个正则表达式匹配一行结束,而第一个不会?“/((.*))/”和“/ (([^ )] *))/”之间是否存在差异?
1
A
回答
4
是的,AFAIK点不匹配大多数正则表达式引擎没有修饰符。
编辑:显然JS甚至没有这个选项。我个人认为否定性格课是要走的路;我很少在正则表达式中使用这个点。
2
另一个重要的区别是点将匹配)
。假设你是你想在
blah blah (foo) blah blah (bar)
正则表达式/\(.*\)/
将匹配(foo) blah blah (bar)
因为*
是贪婪匹配第一个括号表达。你可以通过使用一个不情愿的量词来解决这个问题 - /\(.*?\)/
- 但是如果你想匹配最后一个呢?你知道这是字符串中的最后一件事,所以你只需添加字符串尾部的锚点 - /\(.*?\)$/
- 但现在又回到匹配(foo) blah blah (bar)
。在这种情况下,只有否定字符类才会给你想要的东西:/\([^)]*\)$/
。
相关问题
- 1. concat和||之间是否存在性能差异?在oracle
- 2. NIO和IO管道之间是否存在差异
- 3. .IPA和.APK之间是否存在编码差异?
- 4. Apache FileUtils.isSymlink和Java7的Files.isSymbolicLink()之间是否存在差异?
- 5. saveAs()和exportDocument()之间是否存在性能差异?
- 6. Android和Windows版本的Android SDK之间是否存在差异?
- 7. 4.2和4.3之间是否存在UIImageView差异?
- 8. 在内存中x ++和++ x之间是否存在差异?相对于语言?
- 9. 递归和迭代方法之间是否存在时间复杂度差异?
- 10. 查看和存储过程之间是否存在任何性能差异
- 11. 这两个查询之间是否存在性能差异?
- 12. 多个if语句之间是否存在差异?
- 13. 是否存在两个JSON之间差异的既定表示?
- 14. objective-c和Java或iPhone和Android之间是否存在巨大差异?
- 15. 在Java中,新建和本地之间是否存在性能差异?
- 16. 它是0和-0之间的差异
- 17. 单链表和双链表之间是否存在性能差异?
- 18. WPF中的页面和窗口之间是否存在加载速度差异?
- 19. Linqs查询表达式和点符号之间是否存在性能差异?
- 20. .net命名约定:长度和计数之间是否存在语义差异?
- 21. 运行.NET 3.5进程时,.NET 4和.NET 3.5之间是否存在差异
- 22. 数组和矩阵运算符之间是否存在性能差异?
- 23. SOLR 1.3和SOLR 3.4之间是否存在任何主要的模式差异?
- 24. 使用ScaleTransform和直接设置大小之间是否存在性能差异?
- 25. /dev/zero和/ dev/null之间是否存在任何实现差异?
- 26. if-check和inline条件之间是否存在编译器差异?
- 27. int和仅包含int的结构之间是否存在性能差异?
- 28. int i = 0和int i = default(int)之间是否存在性能差异?
- 29. 访问struct成员的` - >`和`.`之间是否存在显着差异?
- 30. std :: set :: iterator和std :: set :: const_iterator之间是否存在操作差异?
'[\ s \ S]'是JavaScript中“任何包括换行符”的最常用成语。和+1避免点;通过强迫自己思考正则表达式引擎正在做什么,这是一种改进正则表达式的好方法。 – 2010-07-08 15:53:32