regex - 查找以特定单词开头的最长行
问题描述
在我的项目中,我尝试查找具有最长方法名称的事件。
例如
private function anyVeryLongMethodName($param ...);
public function anyEvenLongerMethodName()
protected function ...()
我已经找到了类似的东西
^.{100,}$
这不会准确显示最长的匹配,但在玩计数时会给出一个可管理的结果集
不幸的是,它不考虑从public/private/protected function
是否有合适的正则表达式来完成这项工作?
解决方案
您可以使用此正则表达式来匹配以某些关键字开头且长度为 100 或更多的函数名称:
\b(?:public|private|protected)\s+function\s+(\w{100,})\s*\(
正则表达式详细信息:
\b
: 字边界(?:public|private|protected)
:匹配三个单词之一\s+
: 匹配 1+ 个空格function
: 匹配文本function
\s+
: 匹配 1+ 个空格(\w{100,})
: 匹配捕获组 #1 中的 100 个或更多单词字符\s*\(
: 匹配 0+ 个空格,后跟一个(
推荐阅读
- android - 如何保存并检查文件是否存在于范围存储中?
- python - Kivy 错误:找不到满足 kivy.deps.sdl2 要求的版本
- sqlalchemy - 如何通过 knox 从 apache 超集访问 hive 数据库?
- spring-boot - Spring Boot CRUD 存储库中的 ConcurrentModificationException
- selenium - 使用 selenium 获取数据
- vue.js - 使用 JSON-LD 和 Hydra / OpenAPI 规范来简化客户端 javscript 中的表单验证(JAMStack 站点)
- python - 浮士德找不到话题
- angularjs - GRPC 与 Angular 和 Typescript
- python - 启用在 Ubuntu Server 20.04 上安装 Python3-venv
- python - 如何在 Python 中使用“model.trt”