【问题标题】:I need a RegExp that's special我需要一个特别的正则表达式
【发布时间】:2016-05-07 00:35:35
【问题描述】:

我需要一个自定义正则表达式。在大文本中,我想删除任何带有特定 URL 的 href 标记。好处是这些 URL 是由服务器生成的,并且包含一个由 char-upper/lower-number 组成的额外 url。

所以我希望 Notepad++ 搜索和替换所有包含 a href+http://www.gymglish.com/workbook/show-lesson/+extrastring 的字符串,例如 xwSzAdM45jL6+</a> 使用 http://www.gymglish.com/workbook/show-lesson/[a-zA-Z0-9/] Notepad++ 找到字符串并执行替换,直到额外位的第一个字符(例如:xDghdS5jkA 变为 DghdS5jkA) .

我做了一个简单的推理:如果它在第一个字符之前进行替换,那么我必须为 14 个下一个字符重复正则表达式,因此 http://www.gymglish.com/workbook/show-lesson/[a-zA-Z0-9\/][a-zA-Z0-9\/][a-zA-Z0-9\/][ a-zA-Z0-9\/][a-zA-Z0-9\/][a-zA-Z0-9\/][a-zA-Z0-9\/][a-zA-Z0- 9\/][a-zA-Z0-9\/][a-zA-Z0-9\/]/[a-zA-Z0-9\/][a-zA-Z0-9\/][ a-zA-Z0-9\/][a-zA-Z0-9\/]>*[a|A]> :-) 但是这是一个愚蠢的正则表达式

【问题讨论】:

  • 您能否编辑您的问题以明确要匹配的确切字符串是什么?
  • 类似regex101.com/r/cB1hH2/1 /(<a[^>]*>([^<]+)<\/a>)/g
  • 每个代码都是特殊的。是什么让你觉得你的比别人的更特别?听起来有点自私。

标签: regex notepad++ href


【解决方案1】:

这应该可以解决问题:(编辑为使用新 URL)

<[a|A] (href|HREF)=[\'|\"]http:\/\/www\.gymglish\.com\/workbook\/show-lesson[\/a-zA-Z0-9]*[\'|\"]>[a-zA-Z0-9 ]*<\/[a|A]>

Debuggex Demo

【讨论】:

  • 为什么不只使用i 标志并在一种情况下全部写入?
  • ^Notepad++ 可能吗?
  • 啊,明白了! (虽然他们可以取消勾选“Match Case”,但是嘿:)
  • Notepad++ 确实支持像(?i) 这样的内联修饰符。 [a|A] 里面的| 有什么原因吗?没有理由逃避'"
猜你喜欢
  • 2015-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-23
  • 2023-03-13
  • 2021-12-20
  • 1970-01-01
相关资源
最近更新 更多