regex - 如何创建正则表达式函数来选择提取查询?
问题描述
我正在尝试从字符串中提取查询,我尝试编写自己的函数,但它并不完全符合我的需求。我需要的是:
www.website.com/8056432988456?id=5
, 我需要8056432988456
, 有或没有/
ie 前面的 a ?
。
这是我为它制作的正则表达式:(?<=\/)(.*?)(?=\?)|(?<=\?)
有人可以帮我吗?
解决方案
您可以使用
(?<=\/)\d+(?=(?:\/?\?.*)?$)
请参阅正则表达式演示。
详情:
(?<=\/)
/
-左边必须有一个\d+
- 一位或多位数字(?=(?:\/?\?.*)?$)
- 在右边,必须有一个可选的出现:(?:\/?\?.*)?
- 一个可选的/
,?
然后是任何零个或多个字符,而不是尽可能多的换行符$
- 字符串结束。
推荐阅读
- mysql - 如何在 Pentaho Server 中创建 MySQL 数据连接
- mysql - 如何从 MYSQL 的特定用户组中获得最低价格
- c++ - 当 const 有效时,为什么我不能声明 constexpr local?
- ios - Swift 4 在出现错误警报后第二次按下按钮时它不起作用
- c++ - 不一定获得成员值的getter方法?
- wordpress - WP_Query post__not_in 不工作。忽略数组
- react-native - React Native - 当 react-native 版本 > 0.55 时,无法通过 react-native-cli 创建新项目
- android - Explicit Intent , Setpackage for Alarm 或提醒
- kubernetes - 仍然需要覆盖网络吗?
- javascript - 访问服务工作者中的对象