java 正则表达式 提取提取代码中的文本内容

页面导航:
→ 正文内容 js去除标点符号
javascript去除字符串中所有标点符号和提取纯文本的正则
这篇文章主要介绍了javascript去除字符串中所有标点符号和提取纯文本的正则,需要的朋友可以参考下
用正则表达式除字符串中所有标点符号
代码如下:&script language="javascript"&& &var str="jfkldsjalk,.23@#!$$k~!& @#$%^&*()(_+-=|\{}[]';:,./&&??gg& g~```gf"; & str=str.replace(/[\ |\~|\`|\!|\@|\#|\$|\%|\^|\&|\*|\(|\)|\-|\_|\+|\=|\||\\|\[|\]|\{|\}|\;|\:|\"|\'|\,|\&|\.|\&|\/|\?]/g,""); &&&& alert(str); &/script&
用正则表达式提取html中文本
代码如下:&script language="javascript"& &str='&html xmlns="http://www.w3.org/1999/xhtml"&&head&&meta http-equiv="Content-Type" content="text/ charset=utf-8" /&&title&无标题文档&/title&&/head&&br/ &'; && str=str.replace(/&[^&]*&|/g,""); &&& alert(str); &/script&
您可能感兴趣的文章:
上一篇:下一篇:
最 近 更 新
热 点 排 行
12345678910如何利用java正则表达式抽取一段文本中特定的文本信息_百度知道
如何利用java正则表达式抽取一段文本中特定的文本信息
比如我有这样的文本存在txt中 aaaaa/fhggg大家tt好uuuuu&uuuuuuuhjh&jhjk
这里边的字母我事先是知道的 怎么才能把汉字提取出来 并存到数组或变量或数据库中呢 多谢高手
提问者采纳
([^a-zA-Z/&&]+)大概是这样,匹配一个或无限个连续的不是a-zA-Z/&&的字符,JAVA我不会不过正则表达式都差不多
不行啊 我的文本中不是只有a-zA-Z/&&这些不需要的信息还有很多乱七八糟的符号 没有直接匹配汉字的方法吗
[\x{4e00}-\x{9fa5}] //UTF8编码&/([&.chr(0xb0).&-&.chr(0xf7).&][&.chr(0xa1).&-&.chr(0xfe).&])/& //ANSI(gb2312)编码以上是PHP的,UTF8我试了下可以,ANSI好像有点问题,至于JAVA我想应该也差不多吧
其他类似问题
为您推荐:
正则表达式的相关知识
其他1条回答
package test.function.import java.util.regex.Mimport java.util.regex.Ppublic class Regex { /**
* @param args
public static void main(String[] args) {
String str=&aaaaa/fhggg大家tt好uuuuu&uuuuuuuhjh&jhjk &;
Pattern pile(&[\u4e00-\u9fa5]&);
Matcher math=parrent.matcher(str);
while(math.find())
System.out.print(math.group());
}}汉字可以提取出来了,然后你可以建一个数组或是数据库对象实例。把提取出来的数据存到里面。这个很简单,自己就可以完成。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁推荐这篇日记的豆列
······我创建一个应用程序,将URL作为输入,检索关闭网站的内容和提取未包含在标签的一切。换句话说,文本内容页面,所看到的顾客到该页面。这包括'屏蔽'掉一切封装在&script&&/script&,&style&&/style&和&!-- --&,因为这些部分包含的是不是一个标签内笼罩(但最好是单独留在家中)的文字。
我已经建造这个正则表达式:
(?:&(?P&tag&script|style)[\s\S]*?&/(?P=tag)&)|(?:&!--[\s\S]*?--&)|(?:&[\s\S]*?&)
它正确地选择所有的 CodeGo.net,我想忽略的内容,只有离开页面的文字内容。不过,我想提取将不会出现在中收集(我VB.Net在Visual Studio 2010)。
有没有一种方法,以“反转”的整体像这样的匹配,这样我会得到在所有被排除在上述正则表达式匹配的文本字符串匹配?
到目前为止,我所做的是添加另一种选择在年底,即选择“任何序列不包含&或&”,这剩余的文本。我在一个捕获组的最后一位,而当我遍历的,我检查文本中的“文本”组中存在。这工作,但我想知道是否有可能做这一切通过正则表达式和刚刚结束了对纯文本匹配。
据说这是为了一般地工作,不知道任何特定的标记英寸它应该提取所有文本。另外,我需要保留,以便在页面保留其所有链接和脚本-我只需要能够提取文本,这样我可以执行搜索,并在它,而不用担心“重命名”任何标签,属性或脚本变量等(所以我不能只是做一个“替换一无所有”在所有我得到的,即使我再留下什么,我需要,这是一个trouble,重新插入回的全函数的正确地方
我想知道,如果这是在所有的正则表达式(和我知道的HTMLagility包和XPath,但感觉不一样)。
有什么建议?
这里是(正则表达式为基础)的解决方案,我结束了:在一个演示Web应用程序会同时显示活动的正则表达式的字符串以及一个测试引擎,它可以让您在任何网页上运行的解析,让您解析和提取的结果(链接,URL和文本单独部分-以及views,所有的正则表达式匹配项的地方突出显示的HTML
本文地址 :CodeGo.net/208451/
-------------------------------------------------------------------------------------------------------------------------
1. 我所做的是添加另一种选择在年底,即选择“任何序列不包含&或&“,这剩余的文本。我在一个捕获组的最后一位,而当我遍历的,我检查文本中的存在的”文本“组中。
这就是人们通常会做的。或者更简单,更换标记图案的每场有和空字符串,你已经有了左什么是你正在寻找的东西。
那种它的工作原理 CodeGo.net,但似乎有一个字符串在这里和那里,捡起那不应该。
嗯,是的,那是你的表达和正则表达式的一般是不够的解析甚至有效的HTML,更不用说是在那里真正的网络上的恐怖。优先个提示一下,如果你真的想追逐这种徒劳的方法:属性值(以及一般的文本内容)可能包含非转义&字符。
我想再次提出的HTMLagility包的好处。
ETA:因为你似乎想要它,这里的标记,看起来像它会被绊倒你的表达的例子。
&a href=link&&/a& - unquoted
&a href= link&&/a& - unquoted, space at front matched but then required at back
&a href="~/link"&&/a& - very common URL char missing in group
&a href="link$!*'link"&&/a& - more URL chars missing in group
&a href=l?nk&&/a& - IRI
="link"& - newline (or tab)
&div style="background-image: url(link);"& - unquoted
&div style="background-image: url( 'link' );"& - spaced
&div style="background-image: url('link');"& - html escape
&div style="background-image: ur\l('link');"& - css escape
&div style="background-image: url('link\')link');"& - css escape
&div style="background-image: url(\
'link')"& - CSS folding
&div style="background-image: url
('link')"& - newline (or tab)
这就是有效的标记,将不匹配正确的链接,没有任何可能的无效标记,标记不应该,但并匹配一个链接,或任何的许多问题与其他从文本分割标记技术。这只是冰山的一角。
正则表达式是不可靠的检索HTML正则表达式的文本内容不能处理嵌套的标签。假设一个不包含任何嵌套的标签,正则表达式仍然需要每一个标签都正确关闭。
如果你的PHP,为了简单起见,我强烈你的DOM(对象模型)来解析/提取HTML DOM存在于每一个编程语言。
如果你想提取不是由正则表达式匹配字符串的一部分,你可以简单地替换与对影响空字符串匹配的部分。
请注意,这可能会奏效的唯一原因是你感兴趣的去除标签,&script&和&style&标签,不能嵌套。
但是,它不是一个&script&标签包含代码以编程方式追加另一&script&标记,在这种情况下,你的正则表达式将会失败。它也将在任何变量没有正确关闭的情况下失败。
你不能用正则表达式解析HTML。
用正则表达式解析HTML导致悲伤。
我知道你只是在做它的乐趣,但有这么多的包在那里比实际做了解析正确的方法,并且做可靠,并已进行测试。
不要去重新发明轮子,而且做起来是所有,但保证你在路上的方式。
好了,这里就是我怎么做的吧:
用我原来的正则表达式(与纯文本追加的检索模式,这恰好是剩下的在标签搜索完成后的任何文字):(?:(?:&(?P&tag&script|style)[\s\S]*?&/(?P=tag)&)|(?:&!--[\s\S]*?--&)|(?:&[\s\S]*?&))|(?P&text&[^&&]*)然后在VB.Net:
Dim regexText As New Regex("(?:(?:&(?&tag&script|style)[\s\S]*?&/\k&tag&&)|(?:&!--[\s\S]*?--&)|(?:&[\s\S]*?&))|(?&text&[^&&]*)", RegexOptions.IgnoreCase)
Dim source As String = File.ReadAllText("html.txt")
Dim evaluator As New MatchEvaluator(AddressOf MatchEvalFunction)
Dim newHtml As String = regexText.Replace(source, evaluator)
实际的替换文本发生在这里:
Private Function MatchEvalFunction(ByVal match As Match) As String
Dim plainText As String = match.Groups("text").Value
If plainText IsNot Nothing AndAlso plainText && "" Then
MatchEvalFunction = match.Value.Replace(plainText, plainText.Replace("Original word", "Replacement word"))
MatchEvalFunction = match.Value
End Function
瞧。newHtml现在包含原始的精确副本,除了“原词”中的页面(因为它是在浏览器中呈现)的每一个发生切换与“字”,并和脚本代码被保留不变。当然,人们可以/将放置在一个更复杂的程序,但这种示出了基本原理。这是12行代码,包括函数声明和加载代码等,我会在看到一个并行的解决方案,在DOM等做了(是的,我知道这个方法可以抓瞎了嵌套的标签怪癖某些事件很感兴趣-在剧本重写-但是从有关的损害仍然会很有限,如果有(见上文),一般这会做的工作相当不错的好)。
我建议你阅读
本文标题 :正则表达式:从HTML文档中提取可读的(哈哈)文本和URL
本文地址 :CodeGo.net/208451/
Copyright (C) 2014 CodeGo.net 沪ICP备号 联&系& c&o&d&e&g&o &@&1&2&6&.&c&o&m

我要回帖

更多关于 正则表达式提取字符串 的文章

 

随机推荐