创建最短的正则表达式,以在JavaScript中运行时与文本中的URL大致匹配
例:
"some text exampley.com".match(/your regular expression goes here/);
正则表达式需要
- 捕获用于http和https的所有有效URL。
- 不必担心与实际上不是有效URL的URL查找字符串不匹配
super.awesome/cool
- 作为JavaScript正则表达式运行时有效
测试标准:
比赛:
- http://example.com
- http://example.com/
- http://example.com/super
- https://example.com/super
- example.com/super
- example.com
- example.com/su-per_duper/?add=yes&subtract=no
- example.com/archive/index.html
- twitter.com/#!/reply
- example.com/234ret2398oent/234nth
- codegolf.stackexchange.com/questions/464
- crazy.wow.really.example.com/?cat=nth%3E
- example-example.com
- example1.com
不匹配:
- 例
- 超酷
- 早上好
- 我可以
- 你好。
这是一个测试,可能有助于澄清一下http://jsfiddle.net/MikeGrace/gsJyr/
对于缺乏清晰性,我深表歉意,但我没有意识到匹配URL多么糟糕。
\w
用于所有内容,您是否希望对不同的URL组件进行反向引用?
/:/
用作正则表达式并匹配有效的URI,而不匹配»Not match«列表上的所有示例。只要走那条路,就只是一个问题:什么是最短的正则表达式,它将不匹配任何示例字符串,但仍捕获所有URI。