java - String#matches 中的 \A \z 是多余的吗?
问题描述
在 javaString
类中,matches
测试字符串是否与正则表达式模式匹配。所以很明显它是针对正则表达式模式的整个字符串,这是否意味着\A, \z, ^, $
这里是多余的?
如果不是,请提供示例来说明为什么在这种情况下它们不是多余的。
解决方案
除非您激活multiline mode ,否则它们是多余的,在这种情况下,它们^
将匹配单个行$
的开头和结尾而不是整个输入。
您可以在使用正则表达式(通常在开头)中String#matches
使用嵌入的标志表达式时激活多行模式。(?m)
推荐阅读
- apache-kafka - Kafka 中的消费者滞后
- puppeteer - 如何在 puppeteer 中拦截 *NON* http/s 请求
- docusignapi - 收件人视图过期时的正确流程
- google-apps-script - 使用 Apps 脚本计算来自 Google 表单提交的数字分数
- python - pyocr - LineBoxBuilder 奇怪的行为
- visual-studio-code - 如何解决或查找 VS 代码编辑器 settings.json 文件中的问题?
- ios - UNNotificationServiceExtension 修改或删除已发送的推送通知
- python - Kivy 标签跨多行缩短
- google-chrome - 是否有自定义信息的 Chrome DevTools 协议事件?
- firebase - Firestore 无法在控制台和 Js 中手动更新