regex - 较长字符串中用户名的正则表达式模式
问题描述
MAC OSX,PowerShell 6.1 核心
我正在努力创建正确的 REGEX 模式以在 url 中间找到用户名字符串。简而言之,我正在使用 Powershell Core 6.1 并拉下网页并刮掉“li”元素。我把它写到一个文件中,所以我有一堆这样的行:
<LI><A HREF="/grouplist/expand-user/jimmysmith">Smith, Jimmy</A>
我需要的字符串是“jimmysmith”部分,每一行都有不同的用户名,不超过八个字母字符。我目前的模式是这样的:
(<(.|\n)+?>)|( )
我可以在我的代码中使用“-replace $pattern”来获取“Smith, Jimmy”部分。我不知道自己在做什么,而获得我所得到的任何成功都是靠运气。
在使用了几个在线正则表达式助手后,我仍然坚持如何在第三个“/”之后获取“字符串”,但不包括最后一个引号。
谢谢你能给我的任何帮助。
解决方案
你可以超级简单,
expand-user/([^"]+)
找到expand-user,然后捕获直到报价。
推荐阅读
- ios - 为什么我的for循环在viewDidLoad中放不完?
- audio - 如何避免在 Safari 中开始播放音频文件时出现延迟
- eclipse - Eclipse Orion WebIDE 中的 Sap UI 核心库问题
- xml - 使用 XSL 将 XML 从 Get 转换为 AddChange
- c# - “Microsoft.IdentityModel.Tokens, Version=5.6.0.0”和“Microsoft.IdentityModel, Version=3.5.0”中都存在“SecurityTokenDescriptor”类型。
- symfony4 - 使用自定义操作类时,Symfony 验证不适用于 Api 平台
- python - 如何在 pyinstaller 中添加静态(html、css、js 等)文件以创建独立的 exe 文件?
- reactjs - 来自 formik-material-ui-pickers 的两个 Datepicker 发生碰撞
- javascript - 基于 URL 锚点显示内容
- python - 如何遍历元组和范围