Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建javascript正则表达式以查找以#开头的数字(但不包括HTML特殊字符或现有链接)_Javascript_Regex - Fatal编程技术网

创建javascript正则表达式以查找以#开头的数字(但不包括HTML特殊字符或现有链接)

创建javascript正则表达式以查找以#开头的数字(但不包括HTML特殊字符或现有链接),javascript,regex,Javascript,Regex,我正在尝试从某些字符串创建链接。我试过这个: ([^&]#)([0-9]+)(?![^<>]*>) 头奖是将其浓缩成一个正则表达式。这可能吗?试试(^(#|())((0-9)+(?!(*))这是我的解决方案^^。希望这对你有帮助 /#[0-9]+/gi 只需使用以下正则表达式/[^&|href=“]”(#[0-9]+)/g 这是,给出了以下结果: 具有以下匹配项: 编辑: 我错过了您希望避免在链接中匹配此表达式的部分,这是您需要的正则表达式: [^&|"

我正在尝试从某些字符串创建链接。我试过这个:

([^&]#)([0-9]+)(?![^<>]*>)

头奖是将其浓缩成一个正则表达式。这可能吗?

试试
(^(#|())((0-9)+(?!(*))
这是我的解决方案^^。希望这对你有帮助

/#[0-9]+/gi

只需使用以下正则表达式
/[^&|href=“]”(#[0-9]+)/g

这是,给出了以下结果:

具有以下匹配项:

编辑:

我错过了您希望避免在链接中匹配此表达式的部分,这是您需要的正则表达式:

[^&|"](#[0-9]+\b)(?!<\/a>)

也许?这似乎有效,但在我的测试2的真实世界测试中失败。奇怪?奇怪,我想你应该用如何执行真实生活测试来更新问题。Tx。我已经更新了。测试2通过了,但实际上我的真实世界测试不是测试2的一个示例,而是新添加的测试5。那么,也许?这对我不起作用。它正在吞噬标记的右括号。例如,这把小提琴坏了,但只需使用我代码片段中的代码来替换它,我有:……但它仍然不起作用。请注意标记如何变成@geoidesic是的,我看到了,问题是正则表达式与序列组匹配,但也捕获了前面的字符,因此解决方案是使用regex3.exec()方法类似于
match=regex3.exec(string)[1]
,然后在替换中使用
match
变量,我希望它会有所帮助。Thx@chsdk.似乎对某些字符串有效,但对其他字符串无效。我已使用所有测试更新了JSFIDLE:。
/#[0-9]+/gi
[^&|"](#[0-9]+\b)(?!<\/a>)