正则表达式用于匹配某些字符之间的字符串?

时间:2019-05-04 17:29:23

标签: regex

我希望将文本从(一个或多个字符)传送到另一个(一个或多个字符),但不包括搜索字符(意味着两个搜索词之间的任何含义,但不包括它们)

例如此文本

href="https://old.reddit.com/user/TKayOKAY"> class="author"

使用正则表达式/user/(.*?)"/g返回“ user / TKayOKAY””

如何删除user/"的双引号,仅获得用户名?

基本上返回>> TKayOKAY 例如。

2 个答案:

答案 0 :(得分:2)

如果您的正则表达式方言支持环视,则可以使用基于 lookarounds 的正则​​表达式,以便您的完全匹配是唯一的预期文本。

(?<=/user/)(.*?)(?=")

Regex Demo

或者您可以使用帖子中提到的自己的正则表达式从group1捕获数据。

/user/(.*?)"

Regex Demo

此演示将显示您希望在第1组中捕获的文本

答案 1 :(得分:0)

我会这样决定

  

/ user /([[A-z] +)

为了避免细微的问题,我排除了“。”这样的“常用”表达式。 如果看到字符串仅包含字母,则仅查找字母。

相关问题