Javascript 使用regexp获取字符串的一部分
我有一个字符串,可以有如下文本:Javascript 使用regexp获取字符串的一部分,javascript,regex,string,search,Javascript,Regex,String,Search,我有一个字符串,可以有如下文本: 'some text user#t12# some text' 'username#John# some text' 'some text usersurname#Malks#' 'userphoto#1.jpg#' 如何获取介于#和#符号之间的文本 要搜索的字符串部分有一个典型的结构-type\variable 类型是一个JS变量类型,它位于第一个之前 变量是我需要获取的文本 我正在搜索一个regexp,它返回变量,即介于…之间 问题是,我对regexp不太
'some text user#t12# some text'
'username#John# some text'
'some text usersurname#Malks#'
'userphoto#1.jpg#'
如何获取介于#和#符号之间的文本
要搜索的字符串部分有一个典型的结构-type\variable
类型
是一个JS变量类型
,它位于第一个之前
变量
是我需要获取的文本
我正在搜索一个regexp,它返回变量
,即介于…
之间
问题是,我对regexp不太熟悉,你能帮我吗?你需要使用捕获组,基本上在regex中,括号中的任何内容都是cpauture组的一部分,在这种情况下,你需要捕获两个哈希之间的所有字符。任意数量的字符正则表达式是.*所以这是您想要在两个哈希之间捕获的。一旦执行它,您将在数组中找到第二个匹配项(第一个是带有哈希的字符串)
var type = "";
var myString = "some text user#t12# some text";
var myRegexp = new RegExp(type+"#(.*)#","g");
var match = myRegexp.exec(myString);
alert(match[1]); // t12
散列之间的任何其他匹配将在匹配[2]…匹配[n]中那么你自己做了什么来解决这个问题呢?我自己编写代码的时候运气不好。@Steve如果你知道每个元素的确切位置,为什么不使用split
函数呢?split也是expensive@SteveindexOf
+substring
?我需要支持var1
变量,它直接放在f前面首先,也可以有多个#…#,有些可能不是我搜索的字符串的一部分,你能给我一个例子吗?我不明白,我已经更新了问题示例:var type=something;/type#(.*)#/g