正则表达式匹配,怎么匹配value的值
<inputtype="hidden"name="token"value="M9PX9E4ZLVWRX1VXIQEZRU2D17LSTRPR"/>...
<input type="hidden" name="token" value="M9PX9E4ZLVWRX1VXIQEZRU2D17LSTRPR" />
展开
展开全部
var sv = "<input type='hidden' name='token' value='M9PX9E4ZLVWRX1VXIQEZRU2D17LSTRPR' />";
不晓得你是啥意思,所以我写了几种方法,供你选择
方法1:如果value的值包含字母数字以外的字符将返回false,
var e = /^.*value=[\"\']\w+[\"\'].*$/i;
alert(e.test(sv))
方法2:value的值必须等于M9PX9E4ZLVWRX1VXIQEZRU2D17LSTRPR
var e1=/^.*value=[\"\']M9PX9E4ZLVWRX1VXIQEZRU2D17LSTRPR[\"\'].*$/i;
alert(e1.test(sv))
方法3:匹配value的值,并返回匹配的值
alert(sv.replace(/^.*value=([\"\']\w+[\"\']).*$/gi,"$1"));
将打印M9PX9E4ZLVWRX1VXIQEZRU2D17LSTRPR
注意:如果value的值包含非法字符,将返回原始值
方法4:输出结果value="X"
var patt = new RegExp("value=\'.*\'","i");
alert(patt.exec(sv));
不晓得你是啥意思,所以我写了几种方法,供你选择
方法1:如果value的值包含字母数字以外的字符将返回false,
var e = /^.*value=[\"\']\w+[\"\'].*$/i;
alert(e.test(sv))
方法2:value的值必须等于M9PX9E4ZLVWRX1VXIQEZRU2D17LSTRPR
var e1=/^.*value=[\"\']M9PX9E4ZLVWRX1VXIQEZRU2D17LSTRPR[\"\'].*$/i;
alert(e1.test(sv))
方法3:匹配value的值,并返回匹配的值
alert(sv.replace(/^.*value=([\"\']\w+[\"\']).*$/gi,"$1"));
将打印M9PX9E4ZLVWRX1VXIQEZRU2D17LSTRPR
注意:如果value的值包含非法字符,将返回原始值
方法4:输出结果value="X"
var patt = new RegExp("value=\'.*\'","i");
alert(patt.exec(sv));
更多追问追答
追问
value值是动态的,所以要动态匹配内容
追答
这个很简单,sv本来就是动态的,,你可以用doucment获取value的值,来进行匹配
展开全部
我不知道你想用什么语言实现,下面是PHP实现的!
祝你成功!
<?php
//这里是PHP实现
$ze1="/@!@.*?@!@/";//待匹配的正则表达式
$ze2="/\&nbsp/";//待替换的HTML空格,请将全角的&替换成&
$ze3="/\s/";//替换成的空白字符
$s1='<td><input class="ABC" value="@!@正 则 表 达 式@!@"></td>';
$s2='<td><input class="ABC" value="@!@正&nbsp&nbsp则&nbsp&nbsp表&nbsp&nbsp达&nbsp&nbsp式@!@"></td>'; //请将全角的&替换成&
preg_match_all($ze1,$s1,$arr1);
if(count($arr1[0]) > 0){
foreach($arr1[0] as $value){
$result1=preg_replace($ze2,$ze3,$value);
}
}
preg_match_all($ze1,$s2,$arr2);
if(count($arr2[0]) > 0){
foreach($arr2[0] as $value){
$result2=preg_replace($ze2,$ze3,$value);
}
}
var_dump($arr1);
var_dump($arr2);
?>
祝你成功!
<?php
//这里是PHP实现
$ze1="/@!@.*?@!@/";//待匹配的正则表达式
$ze2="/\&nbsp/";//待替换的HTML空格,请将全角的&替换成&
$ze3="/\s/";//替换成的空白字符
$s1='<td><input class="ABC" value="@!@正 则 表 达 式@!@"></td>';
$s2='<td><input class="ABC" value="@!@正&nbsp&nbsp则&nbsp&nbsp表&nbsp&nbsp达&nbsp&nbsp式@!@"></td>'; //请将全角的&替换成&
preg_match_all($ze1,$s1,$arr1);
if(count($arr1[0]) > 0){
foreach($arr1[0] as $value){
$result1=preg_replace($ze2,$ze3,$value);
}
}
preg_match_all($ze1,$s2,$arr2);
if(count($arr2[0]) > 0){
foreach($arr2[0] as $value){
$result2=preg_replace($ze2,$ze3,$value);
}
}
var_dump($arr1);
var_dump($arr2);
?>
追问
C语言实现,用正则表达式匹配就行
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询