C#正则表达式,匹配但不包括匹配字符串之前的第一个字符

伊丹·谢克特(Idan Shechter)

如何使此C#正则表达式在匹配结果中不包含URL之前的第一个字符:

((?!\").)https?:\/\/twitter\.com\/(?:#!\/)?(\w+)\/status(?:es)?\/(\d+)

这将匹配:

Xhttps://twitter.com/oppomobileindia/status/798397636780953600

注意第一个X字母。

我希望它与不带双引号的URL匹配。对于不以双引号开头的URL,也不要在https之前添加第一个字符。

我在代码中使用的实际示例:

 var str = "<div id=\"content\">
             <p>https://twitter.com/oppomobileindia/status/798397636780953600</p>
             <p>\"https://twitter.com/oppomobileindia/status/11111111111111111111</p></div>";

 var pattern = @"(?<!""')https?://twitter\.com/(?:#!/)?(\w+)/status(?:es)?/(\d+)";//

var rgx = new Regex(pattern);

var results = rgx.Replace(str, "XXX");

在上面的示例中,仅第一个URL应该被替换,因为第二个URL之前有双引号。也应在完全匹配的情况下替换它,而在匹配字符串之前不能有第一个字母。

威克多·斯特里比尤(WiktorStribiżew)

(?<!")后面使用否定式:

var re = @"(?<!"")https?://twitter\.com/(?:#!/)?(\w+)/status(?:es)?/(\d+)";

(?<!")有不能是手段"紧接在当前位置之前。

在C#中,您不需要/在模式内部进行转义,因为在定义regex时不使用regex分隔符。

请注意C#语法:如果要"在逐字字符串文字内定义一个双字,请将该文字加倍。在常规字符串文字中,对"和进行转义\

var re = "(?<!\")https?://twitter\\.com/(?:#!/)?(\\w+)/status(?:es)?/(\\d+)";

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式,从字符串末尾到右边的第一个字符(点)匹配char('-')

来自分类Dev

在两个字符串(包括第一个字符串)之间匹配的正则表达式

来自分类Dev

正则表达式匹配不包括第一个字符的字符串

来自分类Dev

忽略正则表达式匹配中的第一个字符

来自分类Dev

正则表达式-回显字符串的第一个字符

来自分类Dev

Javascript正则表达式忽略匹配中的第一个字符

来自分类Dev

Powershell正则表达式匹配第一个字符串以外的字符串

来自分类Dev

正则表达式仅检查字符串C#中的第一个字符

来自分类Dev

正则表达式替换特定匹配项的字符串的第一个和最后一个字符

来自分类Dev

正则表达式删除与第一个字符串匹配的行?

来自分类Dev

正则表达式仅匹配第一个字符

来自分类Dev

如何匹配正则表达式中的第一个字符串,然后在正则表达式中运行另一个递归模式?

来自分类Dev

基于熊猫/正则表达式的方法来匹配字符串列表中的第一个字符串

来自分类Dev

使用正则表达式VB NET匹配并替换字符串中的第一个和最后一个字符以及子字符串

来自分类Dev

匹配正则表达式中的第一个字符?

来自分类Dev

正则表达式PCRE:验证字符串以匹配第一个字符串集而不是最后一个字符串

来自分类Dev

正则表达式匹配字符串的第一个和最后一个字符,但是为什么呢?

来自分类Dev

忽略正则表达式匹配中的第一个字符

来自分类Dev

正则表达式仅检查字符串C#中的第一个字符

来自分类Dev

正则表达式替换特定匹配项的字符串的第一个和最后一个字符

来自分类Dev

正则表达式替换所有匹配项,但不替换第一个和最后一个字符

来自分类Dev

Python正则表达式-匹配某些第一个字符,但不匹配W

来自分类Dev

C#:如果某些字符是使用正则表达式的字符串的第一个字符,则替换它们

来自分类Dev

正则表达式删除与第一个字符串匹配的行?

来自分类Dev

正则表达式模式匹配直到包含特定字符的第一个字符系列之前的第一个空格

来自分类Dev

R:从第一个字符到字符串末尾的正则表达式

来自分类Dev

第一个字符出现后的 Python 正则表达式匹配组

来自分类Dev

正则表达式匹配字符串中的最后一个字符 - C#

来自分类Dev

正则表达式只匹配第一个字符

Related 相关文章

  1. 1

    正则表达式,从字符串末尾到右边的第一个字符(点)匹配char('-')

  2. 2

    在两个字符串(包括第一个字符串)之间匹配的正则表达式

  3. 3

    正则表达式匹配不包括第一个字符的字符串

  4. 4

    忽略正则表达式匹配中的第一个字符

  5. 5

    正则表达式-回显字符串的第一个字符

  6. 6

    Javascript正则表达式忽略匹配中的第一个字符

  7. 7

    Powershell正则表达式匹配第一个字符串以外的字符串

  8. 8

    正则表达式仅检查字符串C#中的第一个字符

  9. 9

    正则表达式替换特定匹配项的字符串的第一个和最后一个字符

  10. 10

    正则表达式删除与第一个字符串匹配的行?

  11. 11

    正则表达式仅匹配第一个字符

  12. 12

    如何匹配正则表达式中的第一个字符串,然后在正则表达式中运行另一个递归模式?

  13. 13

    基于熊猫/正则表达式的方法来匹配字符串列表中的第一个字符串

  14. 14

    使用正则表达式VB NET匹配并替换字符串中的第一个和最后一个字符以及子字符串

  15. 15

    匹配正则表达式中的第一个字符?

  16. 16

    正则表达式PCRE:验证字符串以匹配第一个字符串集而不是最后一个字符串

  17. 17

    正则表达式匹配字符串的第一个和最后一个字符,但是为什么呢?

  18. 18

    忽略正则表达式匹配中的第一个字符

  19. 19

    正则表达式仅检查字符串C#中的第一个字符

  20. 20

    正则表达式替换特定匹配项的字符串的第一个和最后一个字符

  21. 21

    正则表达式替换所有匹配项,但不替换第一个和最后一个字符

  22. 22

    Python正则表达式-匹配某些第一个字符,但不匹配W

  23. 23

    C#:如果某些字符是使用正则表达式的字符串的第一个字符,则替换它们

  24. 24

    正则表达式删除与第一个字符串匹配的行?

  25. 25

    正则表达式模式匹配直到包含特定字符的第一个字符系列之前的第一个空格

  26. 26

    R:从第一个字符到字符串末尾的正则表达式

  27. 27

    第一个字符出现后的 Python 正则表达式匹配组

  28. 28

    正则表达式匹配字符串中的最后一个字符 - C#

  29. 29

    正则表达式只匹配第一个字符

热门标签

归档