Spark中使用多个正则循环匹配数据,速度慢的问题 10C

uaParserConfigs 是正则的List,里边是格map对应的{"regex":"************"}

 JavaRDD<String> inputWords = lines.map(new Function<String, String>() {

           @Override
           public String call(String s) throws Exception {
               for(int size = 0;size<uaParserConfigs.size();size++){
                    Matcher matcher = Pattern.compile(uaParserConfigs.get(size).get("regex")).matcher(s);
                    if(matcher.find()){
                        return  new String(s+"1");
                    }
                }
               return new String(s + "0");
           }
       });

速度特别慢,每分钟才处理几百条数据,怎么提高性能或者有没有其他的解决方案。

2个回答

wangwwenhui1321
QG_PASS 循环匹配数据 看代码片段
一年多之前 回复

Pattern.compile(uaParserConfigs.get(size).get("regex")) 放外面

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
正则替换多个匹配的问题
原始字符串内有一些自定义的域,现在想替换成实际的值,试了一下好象不行rnrnvar ss = "The_sc rain_st in_sx Spainsc fallssc\n mainly_st inst sxscthest plains.";rnvar sc = "(this is sc)", st = "[dd/xx]", sx= "|haha|";rnvar r, re; rnre = /(\sc\)(\st\)(\sx\)/g;//这么写对吗?rnr = ss.replace(re, sc); //?这句要怎么写rnalert(r);rnrnrn由于*中定义的标签比较多,不要那种进行循环replace的方法rn
正则式有没有循环匹配
rn wordrnrn wordwordrnrn wordrnrn wordrnrnrn wordrnrn wordrnrn rn rn rn rn rn wordrn rnrnrn rn rn wordrn wordrnrnrn rn rn wordrn wordrnrnrn rn rn word rn wordrnrnrn rn rn word rn wordrnrnrn rn rn wordrn wordrnrnrn rn rn word rn wordrnrnrn rn rn word rn wordrnrnrn rn rn wordrn wordrnrnrn rn rn rn rnrnrn rn rn wordrn rnrnrn想用regular expression取出word内容,但看文章说R E只能匹配最近一个符合的,有办法用一种R E表达方法把所有结构类似的内容取出来吗????
请教一个正则递归循环匹配的问题
```rn[code=php]rn "test"] %rn ...rn % block top-info %rn % parent() %rn top inforn date("Y-m-d H:i:s") rn % parent() %rn % block test %rn % block innertest %rn % /block %rn testrn % /block %rn ...rn % block m %rn % block child %rn ...rn % /block %rn % /block %rn ...rn % block n %rn % block nchild %rn ...rn % /block %rn % /block %rn % /block %rn ...rn ...rn % block middle %rn % block child %rn % /block %rn % /block %rn '; rnrnpreg_match_all('#\%\s*block(.*)\s*%\((.*(?R)*)*)\%\s*/\s*block\s*%\#siU', $content, $matches);rn var_dump($matches);rn exit;rn[/code]rn```rn已知,上面的正则能匹配到 % block top-info %...% /block %和 % block middle %...% /block %rnrn我现在想要只匹配% block top-info %...% /block %。rn有没有大神知道正则要怎么弄哦?rn(需要匹配的结果)rn```[code=php]rn % block top-info %rn % parent() %rn top inforn date("Y-m-d H:i:s") rn % parent() %rn % block test %rn % block innertest %rn % /block %rn testrn % /block %rn ...rn % block m %rn % block child %rn ...rn % /block %rn % /block %rn ...rn % block n %rn % block nchild %rn ...rn % /block %rn % /block %rn % /block %rn[/code]rn```
表循环速度慢的问题.
已经查出A表数据,数据内容有经纬度,现循环每一条数据,用经纬度进行反地址解析,反地址解析是用的百度反地址解析方法,一条一条的循环,速度很慢,如何提高速度?
多个数据匹配
有两个表ta和tbrn两表的属性列一样:id(int) hh(int) jj(int) kk(int) mm(int) nn(int)rn现要从表ta中取出一组数据,分别与表tb中的每一组进行比较,求出匹配度最高的前5组数据rn匹配项:hh jj kk mm nnrn匹配要求:hh必须完全相等;jj可以不完全相等,但误差不能超过1;kk mm nn可以不完全相等,但误差不能超过2;rn匹配优先级:hh jj kk mm nn(由高到低)rnrn不知道我的意思说清楚了没有,还请高人指点。
String 匹配正则问题
比如 “Ac”,"aC","AC","ac" rn只有有上面这些字符串就算匹配成功,比如“Ac狗”rn这种正则表达式应该怎么写rn“Ac|aC|AC|ac” 这样好像不行rn
正则 括号 匹配 问题
字符串 "(123)" 这样返回true ,“(123” 返回 false ,“123)”返回false rn而我写的,只做了有无括号的判断,却不能同步。rnnew RegExp( " \(?\d3\)? ") 我这样写无法解决上面 的问题。 也就是不能解决:要不括号成对出现,要么括号都不出现。rn请问大家 这个问题应该 怎么 解决。
匹配网址的正则问题
用户输入的必须是网址,例如 google.com, http://google.com, http://www.google.com,http://www.google.com.hkrn去除网址前缀,只保留域名部分即 google.com, google.com.hkrnrn[code=JScript]rnfunction chksite(obj)rn if(obj.value!="")rn obj.value=obj.value.toLowerCase();rn var reg = /^(http:\/\/)?([wW]3\.)?$/;rn obj.value = obj.value.replace(reg,"");rnrn[/code]rnrn水平太次,这样没有任何反应,求高手帮忙写个好点的
正则的匹配的问题!!!!!!!!!!!!!!
求怎么用正则匹配出img标签,并去掉img标签中除了src和border外的所有属性,并给img标签加上超链接rnrn[code=C#]rnstring con=@" rn rn rn rn ";rn[/code]
正则边界匹配的问题
比如我有一个表单输入项,需要用户输入的格式是可以为字母数字加下划线,那么我在js中这么写/^\w$+/和这么写/\w+/有什么区别?为什么我看好多人写正则都写边界匹配呢?
正则 匹配数字问题
今天遇到个需要用正则进行匹配的问题 输入年薪,匹配可以为0,可以是正整数,也可以是小数, 网上看了很多帖子,没有能直接同时匹配的,0125 ,01.125 , 00.0  这种..总是匹配错误 作为正则小白,只能换个方法匹配2次。 先去除小数点后多余的0  public static String removeZeroAndDot(String s) { if (s.indexOf("
关于 PHP 使用正则进行匹配的问题
基础:html post方法传到php相关变量rnhtml里有两个输入框rn $numGet1 = $_POST['number1'];rn $numGet2 = $_POST['number2'];//从 html 网页中传入相关变量rn $regex = "[0-9]";//正则表达式,只包含 0-9 的数字rn if(!preg_match_all($regex, $numGet1) or !preg_match_all($regex, $numGet2)) rn echo "You can only enter the numbers!";rn die();rn //判断两个传入的变量是否只有 0-9 的数字rn按照上面的代码,不管输入什么都是输出 “You can only enter the numbers”rn是不是正则表达式写错了rn试过 ^[0-9] 和[^0-9] 都有不同的问题rn麻烦各位帮忙看看rn提前感谢!
正则工具类-匹配格式相同的多个组
工具方法: /** * 解析target,并返回pattern匹配到的结果集合,不包括整个字符都匹配的情况 * @param target * @param pattern * @return */ public static List patternParseGroup(String target, String pattern) { List
关于正则<[^>]*>的使用的问题(中文字符无法匹配)
<[^>]*>是一个匹配所有"<"与">"之间内容正则.rn但对于rnrn他就不起作用了,是不是因为里面含有中文的原因哪?rn请问怎么修正它,无论里面有什么字符,都能匹配.
匹配 ****的正则?
示例,匹配下边的内容rnrn rn rn Moby
正则的匹配
常见的正则表达式匹配
一个有关正则数据的提取问题(正则里面带循环)
正则代码如下:rnrnobjRegExp.Pattern = " (.*?)( (.*?)( (.*?) (.*?))*)+" '匹配字段rnrn所匹配的代码:rn rn n.[C]rnrn rn 1. 试验rnrn rn A simple test will show if this is real gold.rnrn rn简单的试验就能证明这是不是真金。rnrnrn rn 2. 化验;化验法;化验剂rnrn rn He had a blood test.rnrn rn 他验过血了。rnrnrn 3. 检验;检验标准rn 4. 测验;考察;小考rn rn We are to have a history test next week.rnrn rn 下周我们有历史测验。rn 5. 考验rnrn现在这个正则是已经能够正确匹配到上面这个结果的,但是我无法通过$1,$2正确取出每一个值,因为里面有循环,只能得到最后一个值rn例如rnresponse.write mm(0).SubMatches(1)得到的是rn5. 考验rnrn我希望能够得到里面的每一个值,该如何做?(关键问题就是局部多次可循环匹配后,似乎正则只匹配了最后一个,前面的不知道如何找到)rnrn谢谢
20万数据中使用in ,速度慢.咋办?
in(1,2,3这样的格式)rnrn速度慢啊,每次都要1400毫秒左右的时间rnrn如何可以加快速度?rnrnMSSQL数据库
批量修改数据速度慢的问题。
由于业务的需要,我要一次在表中修改1300条左右的数据,将其中两个字段的值改变了。具体的语句如下:rnrn [code=C#]public void jz(string ztid, string nian, string yue)rn rnrn using (SqlConnection conn = new SqlConnection())rn rn conn.ConnectionString = SqlHelper.ConnectionStringLocalTransaction;rnrn string sqlstr = "update ks_gz set sfdj=0,sfwc=1 where ztid='"+ztid+"' and nian='"+nian+"' and yue='"+yue+"'";rnrn SqlCommand sqlcom = new SqlCommand(sqlstr, conn);rn sqlcom.CommandTimeout = 0;rn conn.Open();rn sqlcom.ExecuteNonQuery();rn conn.Close();rn rnrnrn [/code]rnrn[color=#FF0000]我延长了请求的时间,但是还是很慢而且不成功,但是在SQL2000的查询分析其中可以成功执行。请高手指点迷津。!![/color]谢谢!!!
正则1 概述及匹配单个字符,匹配多个字符
正则表达式概述 re模块操作 匹配单个字符 匹配多个字符 正则表达式概述 正则表达式,又称规则表达式。计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。 re模块操作 导入re模块 import re 使用match方法进行匹配操作(返回一个对象) result = re.match(正则表达式,要匹配的字符串) 最简单的匹配 import re res...
jsp 循环页面加载速度慢
由于list里的数据太多,导致页面显示时速度比较慢,有没有解决方法??[img=https://img-bbs.csdn.net/upload/201409/12/1410503752_278148.jpg][/img][img=https://img-bbs.csdn.net/upload/201409/12/1410503759_616663.jpg][/img]
关于正则获取多个数据!!!!!!
我要在
python正则中最短匹配
这是因为在正则中,‘*’、‘+’、‘?’这些是贪婪匹配,如用 a*,操作结果是尽可能多地匹配模式。所以当你试着匹配一对对称的定界符,如 HTML 标志中的尖括号。匹配单个 HTML 标志的模式不能正常工作,因为 .* 的本质是“贪婪”的 。在这种情况下,解决方案是使用不贪婪的限定符 *?、+?、?? 或 {m,n}?,尽可能匹配小的文本。
匹配中括号中的内容的正则
求一条正则,匹配类似于[i:105]或者[i:55]这样的字符串rn也就是说匹配中括号中的内容不定的正则。rn谢谢。
分析正则中的匹配方法
分析正则中的匹配方法 开发工具与关键技术:RegexBuddy 4 正则匹配 作者:李国旭 撰写时间:2019年4月20日 在学习正则表达式中,刚开始的时候觉得好难,慢慢的发现它挺好玩的;因为它可以把你想要的东西给你匹配出来,所以说这正则表达式其实并不难。举个例子,单个匹配和匹配纯文本是最简单的,特别是对新学的人来说。下面我们来...
正则中的贪婪匹配 /g
刚看到一个超赞的例子可以很好的解释贪婪匹配的问题。 一个朋友的说:50 万和100 万你要哪个?我说100 万,他笑了笑说,我两个都要! 这不正是正则中的贪婪匹配吗? 示例 有个字符串 var str=&amp;amp;quot;《葬花吟》15209275865是清代文学家曹15632365236雪芹的小说《红楼梦》第二十18569853621七回中女主角林黛玉所吟诵的一首古体诗。&amp;amp;quot; 我们需要把这个字符串中的所有的电话号...
标签中的代码匹配正则
页面源码中有这样的一个超链接 登陆rn用哪个正则能够匹配标签中的内容 例如匹配字符串 do.php?ac= 并返回匹配数量????
Spark中为什么要使用多个executor?
如题,yarn模式下,将所有的task放在一个executor里面是不是更方便,为什么要拆分成多个executor呢,这样做有什么好处?
正则中如何连续匹配一个或多个?
在抓火车票价的时候碰到一个这样的问题,有的火车票价只出来一种,有的可能出来几种,如何用一个表达式连续匹配出一个或多个的情况?rnrn比如 ,下面是三种可能出现的结果rnrn" 硬座234元 硬卧391/407/420元 软卧613/638元 ";rn" 硬座234元 硬卧391/407/420元 ";rn" 硬座234元 ";rnrn我想用下面这个方法,但似乎不行,只能得到最后面一个票价,为什么呢rnpreg_match('#(\s+(.*?) )+#is', $singleShift, $piaojia);//票价rnrn求教各位了,谢谢rnrn
javascript中正则式子匹配使用1$的问题
var name="textAlign";rnname=name.replace( /([A-Z])/g,"-$1");rnalert(name);rn输出是 text-Align;rn这儿首先进行全局匹配 name 的结果是text-lign,rn接着进行第一个子表达式匹配,为什么子匹配的字符Arn一定会位于符号-之后,这是通用规则吗???rn
python正则成对匹配的问题
要从以下文本中匹配到公司名称和对应的地址等联系方式,rn单独匹配联系方式已经实现了,但是怎么样将公司名称也对应的匹配出来?rn输出为rn广州南沙南航印刷厂 地址:广州南沙区rn广州市高捷印刷纸业有限公司 地址:中国广东广州市花都区广塘工业开发区rn即可rnrn求教rnrn 1广州南沙南航印刷厂    &nbsp公司简介:我公司成立于1988年,经十几年的刻苦经营,巳成为一家集设计和印刷于一体的公司,公司拥有先进的德国,日本印刷设备多台,并培养出一批具有专业水平的技术人才,可以根据您的需求打造满意的印刷品,针对小批量,个性化,快速取货的产品需求,公司引进一套数码快印设备,实现了真正意义按需印刷,即时生产,解决了传统胶印小批量产品印刷成本高,货期长的问题.在未来的发展中,我们一实心rn周到的一贯作风,不断创新发展,力求为您提供更好的产品和服务.    &nbsp网址:www.gze.cn/hmpg_JMMQGMOOCRFMF8.html  地址:广州南沙区 电话:84987272rn 2广州市高捷印刷纸业有限公司    &nbsp本公司是一家专业电脑纸表格印刷、标签打印纸、各行业多联式印刷表格电脑打印纸、电脑打印不干胶标签、电脑商业票据、染整纺织制衣工序单、信息记录纸品、保密信函、保险单证、保险单、广告单页,尤其善于生产有特殊要求的防伪、烫金、条形码、开天窗等电脑表格生产企业。rn 我公司拥有完善的组织,先进的生产设备,实施科学的管理。在竞争激烈的今天,为适应市场和满足企业的需求,公司不断发展和激励自己。rn 公司本着“立足品质、服务更好”的经营宗旨,坚持以诚信,优质的服务满足市场的要求,竭诚为广大客户服务!       地址:中国广东广州市花都区广塘工业开发区rn
请问:正则无法匹配-问题
须匹配文本rn[code=HTML] [/code]rnrn[color=#FF0000]现在知道 fnt0 这个名字rn要得到fnt0后面内容中的font-size后面的 数字[/color]rnrn我也写了个,不过有问题rn我写发如下:rn .fnt0[^][^font-size]*font-size:(?\d*(\.\d*)+)[^]*rnrn
正则 懒惰匹配 分组问题
项目中需要用到正则处理一个字符规则 rn如:WC=[cad]#CAD[*](S=cad2[+]YC=1989-2013[*]A=cad3#CAD3)rnrn需要用正则匹配出需要的数据 自己写的正则本来是可以了 但后期字符串改为上面格式 现在遇到一个懒惰匹配后 后面的分组无匹配rn分别匹配出KEY分组 :rnWCrnSrnYCrnArnrnVAL 分组:rncad rncad2rn1989-2013rncad3rnrnSHOWN分组:rnCADrnrnrnCAD3rnrnOP分组:rn*rn+rn*rnrn注:逻辑操作符最后一个是没有的 ShowN 已经逻辑小括号 是可能会出现 rnrn另外对val外层包有[] 有也需要做个处理 标示精确查找 逻辑小括号 也需要分别标示出来 本身对正则进行了更改 如下:rnrn[code=csharp](?(?[\(]*)(?\w*)=(?[\[])?(?.*?)(?[\]])?(#(?.*?))?(?\)*)\[(?.)\])|((?[\(]*)(?\w*)=(?[\[])?[color=#FF0000](?.*?)[/color](?[\]])?(#(?.*?))?(?\)*))[/code]rnrn对如上字符匹配则出现问题rn如图:[img=https://img-bbs.csdn.net/upload/201408/20/1408506524_160311.png][/img]rnrn标红的(?.*?)这个分组的懒惰匹配对后面的分组造成了影响 请各位看下 这儿如何处理
正则问题,匹配HTML标签
[color=#FF99CC]font1[/color][color=#FF99CC]font2[/color][color=#FF99CC]font3[/color]rn[color=#FF99CC]font1font>font2[/color]font3rn[color=#FF99CC]font1font>font2font3[/color]rnrnrn捕获所有成对标签!
JS 正则 匹配规则问题
我写了一个JS的正则代码,但有个问题,就是,文本框里只要输入"表"或"情",那总数就加一,,,但我要的效果不是这样,是要含有"[表情]"才加一,所以想问问各位高手,该怎么写这个正则rnrn-----------------------下面代码---------------------------rnvar find = "\[\表情\]"; rnvar reg = new RegExp(find,"g");rn//alert(form4.messages2.value.match(reg));rnvar count = form4.messages2.value.match(reg); rn//alert(count ? count.length : 0);rnif((count ? count.length : 0)>60) rnalert("一次留言,表情数不能多于15个!");rnform4.messages2.select();rnreturn(false);rn
创建多个MC循环显示数据的问题`````````
System.useCodepage=true; rnvar newload = new LoadVars();rnnewload.load("info.asp"); rnnewload.onLoad = function(success) rnif (success) rnrnrn_root.bt._visible = false bt是一个已经创建好了的MC内有一个动态文本btextrnvar aspclassid = newload.flashClassid; flashClassid 从ASP页面传过来的rnrnvar Aclass = new Array(); rnfor (i=0; i
使用正则提取数据
@F6FF2550@YAYY1700@BA921560@MA881500@HA841430@XA42680 rn1)如何用正则得到@后面的数据,显示在DATAGRID中 rn如: rnF6FF2550 rnYAYY1700 rnBA921560 rnMA881500 rnHA841430 rnXA42680 rn并计算一共提取出几个数据
python 中对多个复选框的循环使用
                           Python中对多个复选框的循环使用 1.给出多个复选框的状态(是否被勾选),代码如下: checkbox_state = [] #存放复选框的状态 for i in range(1,25): temp = getattr(self,&quot;checkBox_%d&quot;%i) if temp.checkState(...
模糊匹配或正则,搜索指定数据
广东移动50M全国通用流量n广东联通150M全国通用流量nn这个两个标题,我搜索50M时 like ‘%50M%’,但150M也会出来,该怎么弄呢
循环合并一个变量,速度慢
循环1000次或更多次对FileContent赋值合并,速度越来越慢,AAAAAAAAAAAAAAAAAAAA是不规则的,可能有更多个字符?rn请高手帮忙解决?rn[code=VBScript]<%for i=0 to 1000rnresponse.write i&"-"rnresponse.FlushrnFileContent = FileContent & "AAAAAAAAAAAAAAAAAAAA" & vbCrLfrnFileContent = FileContent & "AAAAAAAAAAAAAAAAAAAA" & vbCrLfrnFileContent = FileContent & "AAAAAAAAAAAAAAAAAAAA" & vbCrLfrnFileContent = FileContent & "AAAAAAAAAAAAAAAAAAAA" & vbCrLfrnFileContent = FileContent & "AAAAAAAAAAAAAAAAAAAA" & vbCrLfrnFileContent = FileContent & "AAAAAAAAAAAAAAAAAAAA" & vbCrLfrnFileContent = FileContent & "AAAAAAAAAAAAAAAAAAAA" & vbCrLfrnFileContent = FileContent & "AAAAAAAAAAAAAAAAAAAA" & vbCrLfrnFileContent = FileContent & "AAAAAAAAAAAAAAAAAAAA" & vbCrLfrnFileContent = FileContent & "AAAAAAAAAAAAAAAAAAAA" & vbCrLfrnFileContent = FileContent & "AAAAAAAAAAAAAAAAAAAA" & vbCrLfrnFileContent = FileContent & "AAAAAAAAAAAAAAAAAAAA" & vbCrLfrnFileContent = FileContent & "AAAAAAAAAAAAAAAAAAAA" & vbCrLfrnFileContent = FileContent & "AAAAAAAAAAAAAAAAAAAA" & vbCrLfrnnext%>[/code]
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数