还原的话
页面
<divid=aaa runat=server></div
后台
meaaaInnerHtml=接收到的一个带有HTML标签的字符串变量
获取其中的标签那要截取字符串了
您可以使用 title 属性来设置提示文字HTML。将该属性添加到表格单元格的标签中,并在属性值中添加要显示的提示文字HTML即可。
例如,如果您要在表格单元格中添加提示文字HTML“这是一个示例”,则可以这样编写:
<td title="这是一个示例">
<!-- 表格单元格的内容 --></td>
当用户将鼠标悬停在单元格上时,将显示“这是一个示例”提示文字HTML。请注意,提示文字HTML可以包含HTML标记和样式,以帮助进一步解释单元格内容。
replace(str,"<br>",vbcrlf) 'vbcrlf=#13#10
replace(str,"<p>","")
replace(str,"</p>","")
===================================
1([\s\S]+)2([\s\S]+)3([\s\S]+)4([\s\S]+)
===================================
给详细点,因为不同的限制,正则表达式的写法也不完全一样
===================================
这段要整体匹配提取出来然后,把其中的<br>替换掉就可以了
Dim regEx, mh, mhs '建立变量
Set regEx = New RegExp '建立正则表达式
regExIgnoreCase = False '设置是否区分字符大小写
regExGlobal = True '设置全局可用性
regExPattern = <p[\s\S]{1,64}职位描述:[\s\S]{1,32}(职责:[\s\S]{1,512}要求:[\s\S]{1,512})</p>"
Set mhs = regExExecute(innerHTML) '执行搜索
If mhsCount>0 Then
Text1 = Replace(CStr(mhsItem(0)SubMatches(0)),"<br>",vbcrlf)
End If
=========================================
演示 >
一、正则表达式概述
如果原来没有使用过正则表达式,那么可能对这个术语和概念会不太熟悉。不过,它们并不是您想象的那么新奇。
请回想一下在硬盘上是如何查找文件的。您肯定会使用 和 字符来帮助查找您正寻找的文件。 字符匹配文件名中的单个字符,而 则匹配一个或多个字符。一个如 'datadat' 的模式可以找到下述文件:data1dat、data2dat等等。如果使用 字符代替 字符,则将扩大找到的文件数量。'datadat' 可以匹配下述所有文件名:datadat、data1dat、data12dat等等,尽管这种搜索文件的方法肯定很有用,但也十分有限。 和 通配符的有限能力可以使你对正则表达式能做什么有一个概念,不过正则表达式的功能更强大,也更灵活。
在我们编写ASP程序时,经常会判断一个字符串的有效性,如;一个串是否是数字、是否是有效的Email地址等等。如果不使用正则表达式,那么判断的程序会很长,并且容易出错,如果使用正则表达式,这些判断就是一件很轻松的工作了。后面我们将介绍如何判断数字和Email地址的有效性。
在典型的搜索和替换 *** 作中,必须提供要查找的确切文字。这种技术对于静态文本中的简单搜索和替换任务可能足够了,但是由于它缺乏灵活性,因此在搜索动态文本时就有困难了,甚至是不可能的。
使用正则表达式,能完成些什么事情呢?
测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个xyk号码模式。这称为数据有效性验证。
替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字。
根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字。
例如,如果需要搜索整个 web 站点来删除某些过时的材料并替换某些HTML 格式化标记,则可以使用正则表达式对每个文件进行测试,看在该文件中是否存在所要查找的材料或 HTML 格式化标记。用这个方法,就可以将受影响的文件范围缩小到包含要删除或更改的材料的那些文件。然后可以使用正则表达式来删除过时的材料,最后,可以再次使用正则表达式来查找并替换那些需要替换的标记。
那么,正则表达式语法的语法是如何呢?
一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。
这里有一些可能会遇到的正则表达式示例:
/^\[ \t]$/ "^\[ \t]$" 匹配一个空白行。
/\d{2}-\d{5}/ "\d{2}-\d{5}" 验证一个ID 号码是否由一个2位数字,一个连字符以及一个5位数字组成。
/<()><\/\1>/ "<()><\/\1>" 匹配一个 HTML 标记。
二、正则表达式在VBScript中的应用
VBScript使用RegExp对象、Matches集合以及Match对象提供正则表达式支持功能。我们还是先看一个例子。
<%
Function RegExpTest(patrn, strng)
Dim regEx, Match, Matches '建立变量。
Set regEx = New RegExp '建立正则表达式。
regExPattern = patrn '设置模式。
regExIgnoreCase = True '设置是否区分字符大小写。
regExGlobal = True '设置全局可用性。
Set Matches = regExExecute(strng) '执行搜索。
For Each Match in Matches '遍历匹配集合。
RetStr = RetStr & "Match found at position "
RetStr = RetStr & MatchFirstIndex & " Match Value is '"
RetStr = RetStr & MatchValue & "'" & "<BR>"
Next
RegExpTest = RetStr
End Function
responsewrite RegExpTest("[ij]s", "IS1 Js2 IS3 is4")
%>
在这个例子中,我们查找字符串中有无is或者js这两个词,忽略大小写。运行的结果如下:
Match found at position 0 Match Value is 'IS1'
Match found at position 4 Match Value is 'Js2'
Match found at position 8 Match Value is 'IS3'
Match found at position 12 Match Value is 'is4'
下面我们就介绍这三个对象和集合。
1、RegExp对象是最重要的一个对象,它有几个属性,其中:
○Global 属性,设置或返回一个 Boolean 值,该值指明在整个搜索字符串时模式是全部匹配还是只匹配第一个。如果搜索应用于整个字符串,Global 属性的值为 True,否则其值为 False。默认的设置为 False。
○IgnoreCase 属性,设置或返回一个Boolean值,指明模式搜索是否区分大小写。如果搜索是区分大小写的,则 IgnoreCase 属性为 False;否则为 True。缺省值为 False。
○Pattern 属性,设置或返回被搜索的正则表达式模式。必选项。总是一个 RegExp 对象变量。
2、Match 对象
匹配搜索的结果是存放在Match对象中,提供了对正则表达式匹配的只读属性的访问。 Match 对象只能通过 RegExp 对象的 Execute 方法来创建,该方法实际上返回了 Match 对象的集合。所有的 Match 对象属性都是只读的。在执行正则表达式时,可能产生零个或多个 Match 对象。每个 Match 对象提供了被正则表达式搜索找到的字符串的访问、字符串的长度,以及找到匹配的索引位置等。
○FirstIndex 属性,返回在搜索字符串中匹配的位置。FirstIndex 属性使用从零起算的偏移量,该偏移量是相对于搜索字符串的起始位置而言的。换言之,字符串中的第一个字符被标识为字符 0
○Length 属性,返回在字符串搜索中找到的匹配的长度。
○Value 属性,返回在一个搜索字符串中找到的匹配的值或文本。
3、Matches 集合
正则表达式 Match 对象的集合。Matches 集合中包含若干独立的 Match 对象,只能使用 RegExp 对象的 Execute 方法来创建之。与独立的 Match 对象属性相同,Matches `集合的一个属性是只读的。在执行正则表达式时,可能产生零个或多个 Match 对象。每个 Match 对象都提供了与正则表达式匹配的字符串的访问入口、字符串的长度,以及标识匹配位置的索引。
学习了这三个对象和集合,如何应用于字符串的判断和替换呢?regExp对象的三个方法正好解决了这个问题,它们是Replace方法、Test方法和Execute方法。
1、Replace 方法
替换在正则表达式查找中找到的文本。我们还是先看个例子:下面的例子说明了 Replace 方法的用法。
<%
Function ReplaceTest(patrn, replStr)
Dim regEx, str1 ' 建立变量。
str1 = "The quick brown fox jumped over the lazy dog"
Set regEx = New RegExp ' 建立正则表达式。
regExPattern = patrn ' 设置模式。
regExIgnoreCase = True ' 设置是否区分大小写。
ReplaceTest = regExReplace(str1, replStr) ' 作替换。
End Function
Responsewrite ReplaceTest("fox", "cat") & "<BR>" ' 将 'fox' 替换为 'cat'。
Responsewrite ReplaceTest("(\S+)(\s+)(\S+)", "$3$2$1") ' 交换词对
%>
2、Test 方法
对指定的字符串执行一个正则表达式搜索,并返回一个 Boolean 值指示是否找到匹配的模式。正则表达式搜索的实际模式是通过RegExp对象的Pattern属性来设置的。RegExpGlobal属性对Test方法没有影响。
如果找到了匹配的模式,Test方法返回True;否则返回False。下面的代码说明了Test 方法的用法。
<%
Function RegExpTest(patrn, strng)
Dim regEx, retVal ' 建立变量。
Set regEx = New RegExp ' 建立正则表达式。
regExPattern = patrn ' 设置模式。
regExIgnoreCase = False ' 设置是否区分大小写。
retVal = regExTest(strng) ' 执行搜索测试。
If retVal Then
RegExpTest = "找到一个或多个匹配。"
Else
RegExpTest = "未找到匹配。"
End If
End Function
Responsewrite RegExpTest("is", "IS1 is2 IS3 is4")
%>
3、Execute 方法
对指定的字符串执行正则表达式搜索。正则表达式搜索的设计模式是通过 RegExp 对象的 Pattern 来设置的。
Execute 方法返回一个 Matches 集合,其中包含了在 string 中找到的每一个匹配的 Match 对象。如果未找到匹配,Execute 将返回空的 Matches 集合。
三、JavaScript中正则表达式的使用
在JavaScript 12版以后,JavaScript也支持正则表达式。
1、replace
replace在一个字符串中通过正则表达式查找替换相应的内容。replace并不改变原来的字符串,只是重新生成了一个新的字符串。如果需要执行全局查找或忽略大小写,那么在正则表达式的最后添加g和i。
例:
<SCRIPT>
re = /apples/gi;
str = "Apples are round, and apples are juicy";
newstr=strreplace(re, "oranges");
documentwrite(newstr)
</SCRIPT>
结果是:"oranges are round, and oranges are juicy"
例:
<SCRIPT>
str = "Twas the night before Xmas";
newstr=strreplace(/xmas/i, "Christmas");
documentwrite(newstr)
</SCRIPT>
结果是:"Twas the night before Christmas"
例:
<SCRIPT>
re = /(\w+)\s(\w+)/;str = "John Smith";
newstr = strreplace(re, "$2, $1");
documentwrite(newstr)
</SCRIPT>
结果是:"Smith, John"
2、search
search通过正则表达式查找相应的字符串,只是判断有无匹配的字符串。如果查找成功,search返回匹配串的位置,否则返回-1。
search(regexp)
<SCRIPT>
function testinput(re, str){
if (strsearch(re) != -1)
midstring = " contains ";
else
midstring = " does not contain ";
documentwrite (str + midstring + resource);
}
testinput(/^[1-9]/i,"123")
</SCRIPT>
3、match
match方法执行全局查找,查找结果存放在一个数组里。
例一:
<SCRIPT>
str = "For more information, see Chapter 3451";
re = /(chapter \d+(\\d))/i;
found = strmatch(re);
documentwrite(found);
</SCRIPT>
显示结果:Chapter 3451,Chapter 3451,1
例二:
<SCRIPT>
str = "abcDdcba";
newArray = strmatch(/d/gi);
documentwrite(newArray);
</SCRIPT>
显示结果D, d
四、示例
1 、判断数字的正确性
<%@ Language=VBScript %>
<script language="javascript" runat="server">
function isNumeric(strNumber) {
return (strNumbersearch(/^(-|\+)\d+(\\d+)$/) != -1);
}
function isUnsignedNumeric(strNumber) {
return (strNumbersearch(/^\d+(\\d+)$/) != -1);
}
function isInteger(strInteger) {
return (strIntegersearch(/^(-|\+)\d+$/) != -1);
}
function isUnsignedInteger(strInteger) {
return (strIntegersearch(/^\d+$/) != -1);
}
</script>
<HTML>
<BODY>
<b>判断数字的正确性</b>
<%
Dim strTemp
strTemp = CStr(RequestForm("inputstring"))
If strTemp = "" Then strTemp = "0"
%>
<TABLE BORDER="1" CELLPADDING="4" CELLSPACING="2">
<TR>
<TD ALIGN="right"><B>原始字符串</B></TD>
<TD><%= strTemp %></TD>
</TR>
<TR>
<TD ALIGN="right"><B>数字</B></TD>
<TD><%=isNumeric(strTemp)%></TD>
</TR>
<TR>
<TD ALIGN="right"><B>非负数字</B></TD>
<TD><%=isUnsignedNumeric(strTemp)%></TD>
</TR>
<TR>
<TD ALIGN="right"><B>整数</B></TD>
<TD><%=isInteger(strTemp)%></TD>
</TR>
<TR>
<TD ALIGN="right"><B>非负整数()</B></TD>
<TD><%=isUnsignedInteger(strTemp)%></TD>
</TR>
</TABLE>
<FORM ACTION="<%=RequestServerVariables("SCRIPT_NAME")%>" METHOD="post">
请输入一个数字:<BR>
<INPUT TYPE="text" NAME="inputstring" SIZE="50"></INPUT><BR>
<INPUT TYPE="submit" Value="提交"></INPUT><BR>
</FORM>
</BODY>
</HTML>
2、判断Email地址的正确性
<%
Function isemail(strng)
isemail = false
Dim regEx, Match
Set regEx = New RegExp
regExPattern = "^\w+((-\w+)|(\\w+))\@[A-Za-z0-9]+((\|-)[A-Za-z0-9]+)\[A-Za-z0-9]+$"
regExIgnoreCase = True
Set Match = regExExecute(strng)
if matchcount then isemail= true
End Function
%>
以上就是关于返回一个带有HTML标签的字符串,然后如何在ASP.NET的后台程序中进行还原,获取其中的table和td,之类的标签全部的内容,包括:返回一个带有HTML标签的字符串,然后如何在ASP.NET的后台程序中进行还原,获取其中的table和td,之类的标签、表格中td如何设置提示文字HTML、怎么用正则表达式提取HTML中所需的文字等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)