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
Regex 带有'#';_Regex - Fatal编程技术网

Regex 带有'#';

Regex 带有'#';,regex,Regex,我想知道包含“#”的字符串的正则表达式字符串应该是怎样的 e、 g 我想 #def #ghj #ijk 我尝试了#[\S]+,但它选择了整个#def#ghj#ijk有什么想法吗 编辑 下面的代码仅选择#Me,而不是#MessageBox。为什么? var m = new RegExp('#[^\s#]+').exec('http://localhost/Lorem/10#MessageBox'); if (m != null) { var s = ''; for (i = 0

我想知道包含“#”的字符串的正则表达式字符串应该是怎样的

e、 g

我想

  • #def
  • #ghj
  • #ijk
我尝试了
#[\S]+
,但它选择了整个
#def#ghj#ijk
有什么想法吗

编辑 下面的代码仅选择
#Me
,而不是
#MessageBox
。为什么?

var m = new RegExp('#[^\s#]+').exec('http://localhost/Lorem/10#MessageBox');

if (m != null) {
   var s = '';

   for (i = 0; i < m.length; i++) {
     s = s + m[i] + "\n";
   }
}
var m=new RegExp('#[^\s#]+').exec('http://localhost/Lorem/10#MessageBox');
如果(m!=null){
var s='';
对于(i=0;i
编辑2
双反斜杠解决了这个问题<代码>'.[^\\s#]+'

匹配所有非
.
字符:

#[^#]+

匹配所有非
#
字符:

#[^#]+

尝试
[^\s#]+
匹配
后接一个或多个既不是
也不是空白的字符序列。

尝试
[^\s#]+
匹配
后接一个或多个既不是
也不是空白的字符序列。

。我对JavaScript不太熟悉(这是JavaScript,对吧),但我想你应该用一个双反斜杠替换整个
新的RegExp('.[^\s#]+')
,用
/.[^\s#]+/
,或者用一个双反斜杠来写
'.[^\\s#]+'
,在这个字符串中实际包含一个反斜杠。你是对的,双反斜杠解决了这个问题。谢谢有人吃了你的反斜杠。我对JavaScript不太熟悉(这是JavaScript,对吧),但我想你应该用一个双反斜杠替换整个
新的RegExp('.[^\s#]+')
,用
/.[^\s#]+/
,或者用一个双反斜杠来写
'.[^\\s#]+'
,在这个字符串中实际包含一个反斜杠。你是对的,双反斜杠解决了这个问题。谢谢
var m = new RegExp('#[^\s#]+').exec('http://localhost/Lorem/10#MessageBox');

if (m != null) {
   var s = '';

   for (i = 0; i < m.length; i++) {
     s = s + m[i] + "\n";
   }
}