精华内容
下载资源
问答
  • 正则表达式代码//$keyword='破坏';//当值为破坏时可以加上超连接$keyword='真皮层';//当值为直皮层时则不能匹配加上招连接$url='www.jquerycn.cn;$content='激光光束透过表皮和真皮层,破坏色素细胞和色素颗粒';$...

    正则表达式代码

    //$keyword='破坏';//当值为破坏时可以加上超连接

    $keyword='真皮层';//当值为直皮层时则不能匹配加上招连接

    $url='www.jquerycn.cn;

    $content='激光光束透过表皮和真皮层,破坏色素细胞和色素颗粒';

    $content = preg_replace( '|(?<=[^&])('.$keyword.')(?=[^&])|i', '$1', $content, 1);

    //$content = preg_replace( '|(?<=[^&])('.$keyword.')([^&])|i', '$1$2', $content, 1); //这样也无法匹配

    //有朋友遇到过这样的情况吗?应该如何解决呢?我试过了但凡能试的正则修正符,都没有用。

    $keyword='破坏';//当值为破坏时可以加上超连接

    $keyword2='真皮层';/

    /当值为直皮层时则不能匹配加上招连接

    $url='www.jquerycn.cn';$content='激光光束透过表皮和真皮层,破坏色素细胞和色素颗粒';

    $a=preg_replace('/'.$keyword2.'/i',''.$keyword2.'',$content);

    echo str_replace($keyword,''.$keyword.'',$a);

    ?>

    展开全文
  • 文本处理(一)全角转半角正则匹配

    千次阅读 2018-04-30 19:17:50
    我为什么要进行这一步呢,事实上文本中基本都是全角,在我经历过下面两轮操作之后我怀疑是全角半角的问题,可惜不是,而是㎝,特殊字符,这是单位字符而非半角,我当成了半角,也是够坑的,后来我在正则中加入了这个...

    最近遇到一些情况需要对文本进行预处理,目的是从文本中提取特征。文本内容是不同病人的脾脏B超体检结果。内容格式如下:


    其中有一部分内容还含有数字,例如这样:

     df_with_num=df[df['0116'].str.contains(r"\d")]
    
    df_with_num.head()
    Out[82]: 
                                      vid  \
    67   00514cc6a2c229618b763ad30bf3ce5b   
    353  0192c4d2609f04826421606571d59a64   
    519  0266554b4a165b54fefd1dd8dc90379d   
    594  02b18cbdbef9e70593370357b89cd14f   
    625  02dbf6bd8c66b433a4716cfdf34aa09d   
    
                                                      0116  
    67                        脾脏形态正常,包膜光整,实质回声均匀,脾厚度约52mm。  
    353                      脾脏形态饱满,包膜光整,实质回声均匀,脾厚度约41mm 。  
    519  脾脏形态正常,包膜光整,实质回声均匀,脾门周围可见一类圆形低回声区,大小约17 mm× 13...  
    594         脾脏大小、形态正常,包膜光整,回声均匀。脾门区见大小13x11mm等回声,界清规则。  
    625                  脾脏厚度约45mm ,长径约129mm,包膜光整,实质回声尚均匀。  

    在这种情况下想要提取特征,感觉有点不太容易,事实上我到现在也没提取出什么有用的东西,但是,我还是把我目前为止经历过一系列试错之后的总结写一下,等到有了进度再更新。

    这是目前想到的步骤:

    ##1去除数值型数据:
    ##2tf-idf
    ##3查找top,总结pos词
    ##4去除pos句子
    ##5再次tf-idf,查看分析
    ##6总结neg的几种主要形式

    ##7提取特征

    为什么要这这样呢?因为经过观察发现大部分数据都是描述正常情况的,只有少部分是描述体检结果异常的,而有具体数值的绝大多数都是体检异常的。事实上体检异常的种类也是可以列举的,如脾脏大小问题会直接描述脾脏厚度,宽度等,回声区问题会描述回声区大小等。所以就像将描述正常情况的全部删除,只保留描述异常情况的,又由于异常情况可以列举完,正常情况就是异常情况的反面。而正常情况由于是大多数,我希望利用分词后的tf-idf得到topK的高频词,然后利用词性等,将描述如“脾脏大小、形态正常,包膜光整,回声均匀。”的分句去除掉。之后再在源数据基础上去除掉这些之后,将数值部分提取出来作为数据(还需要周全考虑,因为数值部分有描述脾脏大小和回声大小的,主语不同),基于这个思想,就有了上面的步骤。

    但是我如果直接对数据使用jieba进行分词,会得到一大堆的数字,再去做tf-idf效果更差,所以必须先将每行数据中的数字部分都全部去除掉,再进行分词,然后再进行处理。过程如下:

    首先我需要将数据的全角全部转换成半角,这点是从这里抄来的:python中半角与全角互相转换

    def strQ2B(ustring):
        #"""全角转半角"""
        rstring = ""
        for uchar in ustring:
            inside_code=ord(uchar)
            if inside_code == 12288:    #全角空格直接转换
                inside_code = 32
            elif (inside_code >= 65281 and inside_code <= 65374): #全角字符(除空格)根据关系转化
                inside_code -= 65248
            rstring += chr(inside_code)##注意这里要是前面加一个tab,就不会将if里的内容加进来了
        return rstring##注意这里要是前面加一个tab,就变成第一次就return了
    
    ##对str字段进行全角半角的转换
    df['0116']=df['0116'].map(strQ2B)
    #len(df[df['0116'].str.contains(r'\d')])##查看一下目前含有数字的有多少行
    #Out[67]: 716

    关于tab的注释是我加上去的...当时只是无脑抄,后来才发现有很大问题。

    我为什么要进行这一步呢,事实上文本中基本都是全角,在我经历过下面两轮操作之后我怀疑是全角半角的问题,可惜不是,而是㎝,特殊字符,这是单位字符而非半角,我当成了半角,也是够坑的,后来我在正则中加入了这个就解决了。

    接下来是要删除掉含有数值的分句,也是经过一段时间的学习,我知道了应该用正则来做,可惜我的正则学的并不好,又是经过了n久的试错之后,终于总结出了这个文本中该如何匹配还有数值的部分。主要是利用re.sub()函数将匹配的数值分句替换为空串,具体代码如下:

    import re
    def resub(str):
        return re.sub(r"(,|,|。|,)*?([^(,|,)]*?)(\d|(|)|\(|\)|\*|x)+( )*(mm|MM|cm|CM|㎜|㎝)(,|,|。|,)*?",'',str)
    df['0116']=df['0116'].map(resub)
    len(df[df['0116'].str.contains(r'\d')])
    Out[125]: 0

    看到这个正则我就觉得不容易,这个B超数据录入的太随性了,有特殊字符,有*,x,mm,MM,㎜,简直心累。还有发现全角的(不需要转义,而半角的(就需要加\转义,还有*也是。

    目前就做到了这里有时间再写。

    展开全文
  • 匹配含正整数,负整数,0,负小数,正小数,0.00等多种情况的正则表达式如下(亲测可用) -?(0|[1-9]\d*)(\.\d+)? 通常我们会在正则表达式里加上开头结尾,更完整的就是这个(前端) const pattDecimal = /^-?(0...

    匹配含正整数,负整数,0,负小数,正小数,0.00等多种情况的正则表达式如下(亲测可用)

         -?(0|[1-9]\d*)(\.\d+)?
    

    通常我们会在正则表达式里加上开头结尾,更完整的就是这个(前端)

        const pattDecimal = /^-?(0|[1-9]\d*)(\.\d+)?$/
    

    放在后端会有转义字符 \ 的错误,所以后端是这样哒

        String regex = "^-?(0|[1-9]\\d*)(\\.\\d+)?$";
    




    下面是对正则的解释

    -?
    #匹配负号,问号表示负号是可选的,可正可负
    (0
    #匹配整数位为0的情况
    |[1-9]\d*)
    #匹配整数位不为0的情况,首位不能为0
    (.\d+)?
    #匹配小数部分,问号表示小数部分是可选的

    只能输入(正整数或正小数)的正则表达式如下(PS:这个正则没测试过)

    //#去掉-?就可以了
    (0|[1-9]\d*)(\.\d+)? 
    

    如果需要排除0和0.00(正数),可以这样写(PS:这个正则没测试过)

    (?=.*[^0.])(0|[1-9]\d*)(\.\d+)?
    

    这是原文路径: 绯弹亚丝娜.
    此文仅作记载,防止用时找不到

    展开全文
  • js正则表达式区分全角半角

    千次阅读 2018-12-20 11:52:32
    半角正则表达式:/[\x00-\xff]/ig 全角正则表达式:/[^\x00-\xff]/ig 示例:全半角匹配 var str=&amp;quot;hi,你好!&amp;quot; console.log(str.match(/[\x00-\xff]/g));//[&amp;quot;h&amp;quot;,...

    半角

    每个半角字符占用一字节空间(一字节有8位),共256个编码空间。
    半角正则表达式:/[\x00-\xff]/g

    全角

    每个全角字符占用两字节空间。
    全角正则表达式:/[^\x00-\xff]/g

    示例:全半角匹配

    var str="hi,你好!"
    console.log(str.match(/[\x00-\xff]/g));//["h", "i", ","]
    console.log(str.match(/[^\x00-\xff]/g));//["你", "好", "!"]
    

    输出结果如下图所示:
    在这里插入图片描述

    展开全文
  • 公效中使,加近浏三现做轻进这后,业的一历学务常清的我进战文蓝司果,用还求:这个些是些如例回能泉配幻近实是前小如事对水合需求有两个难点,一,是如何使用正则匹配所有半角英文标点符号,二,是如何验证密码段.....
  • 1、全角,半角 半角:一个字符占用一个字节 全角:一个字符占用两个字节 而我们的汉语方块字已经日韩文字,本身比较大,所以需要使用两个字节来存储。而英语或者其他一些标点之类的,每一个字符仅需要一个字符就...
  • php日语全角半角正则表达式验证

    千次阅读 2015-02-13 11:05:10
     * 全角を半角にする   * @param string $instr 変換前文字列   * @return string 変換後文字列  */  function zen2han($instr) {   $flag = FALSE; //直前文字が全角カ
  • 正则表达式(半角

    千次阅读 2015-03-20 15:03:51
    正则: http://homepage2.nifty.com/buckeye/software/helps/st/pages/regular.html   常用正则半角:[ -~。-゚] 半角カナ:[。-゚] 半角カナ以外半角字符:[[ -~。-゚]|^[。-゚]]*$ ...
  • @Pattern(regexp = "^[\\x00-\\xff]*$")
  • 全角数字正则匹配后输出半角数字,可以把日期字符串中的全角转换成半角,又便于转换成日期格式
  • java 日语全角半角正则

    千次阅读 2017-02-20 21:11:19
    全角半角在日本项目中比较常见,常见于カタカナ(片假名) String[] hankaku_katakana = { "ァ", "ア", "ィ", "イ", "ゥ", "ウ", "ェ", "エ", "ォ", "オ", "カ", "ガ", "キ", "ギ", "ク", "グ", "ケ", "ゲ",...
  • 日本的全角,半角正则匹配

    千次阅读 2010-06-04 08:36:54
    [size=large]1.在lib中建立一个文件:string_util.rb,... # 半角字符串 # 【引数】 # 【返値】 # 【注意】 # 【著作】20100518 xxc def self.hankaku?(str) return nil if str.nil? #文字列が空のとき...
  • 全角字符unicode编码从65281~65374 (十六进制 0xFF01 ~ 0xFF5E)例如:/[\x{3010}]/ 在正则中代表'【'. 半角字符unicode编码从33~126 (十六进制 0x21~ 0x7E) 空格比较特殊,全角为 12288(0x3000),半角为 32 ...
  • [img=https://img-bbs.csdn.net/upload/201310/10/1381386541_801784.png][/... 切换输入法默认的是圆角的 怎样把textbox里的值转换成半角的 ,是不是这个textbox匹配一个正则表达式就行了,如果有的话 ,求正则表达式
  • JAVA 正则表达式 半角英文

    千次阅读 2013-04-22 11:00:22
    画面中有一输入框,规定,必须为“半角英文字符”。 若后台check不过,则在画面显示错误信息。 核心代码: [code="java"] String inputNumber = "asdf234中国"; //半角英文字符 // ...
  • 全角字符占2个字符,半角字符占1个字符 1、将字符字符转成半角字符 //原生JavaScript全角转换为半角函数 function ToCDB(str){ var result = ''; for(var i=0; i < str.length; i++){ code = str....
  • JAVA正则表达式区分全角半角

    千次阅读 2019-04-21 18:29:51
    半角正则表达式:[\x00-\xff] x00是用十六进制表示的ASCII码,[\x00-\xff]表示所有的ASCII码,一共是256个。半角字符都在这里。 全角 全角正则表达式:[^\x00-\xff] 不在ASCII码表里可以认为都是全角。 ...
  • (\u3000|\s)(\u3000|\s)* 转载于:https://www.cnblogs.com/dashi/archive/2013/03/27/4034666.html
  • 向文本框里输入数字 判断是半角还是全角数字
  • 引用自:http://blog.csdn.net/java2000_net/article/details/2980725   测试代码如下: class T {  public static void main(String... args) { .....**半角";  System.out....
  • 正则替换全角空格和逗号

    千次阅读 2015-12-09 22:51:14
    char blank = ' ';// 全角空格 System.out.println("\\u" + Integer.toHexString(blank));// \u3000 char comma = ',';// 全角逗号 System.out.println("\\u"...String s...
  • 采用 Unicode 标点属性方式的正则表达式,可以去掉所有的标点符号, 包括全角、半角、横排、竖排等的标点符号。 注意一下,如果在 JDK 5 或以下的环境中,全角单引号对、双引号对 无法替换掉,这是 JDK 5 及...
  • 今天遇到一个字符串,怎么匹配空格都不成功!...正则表达式中\s匹配任何空白字符,包括空格、制表符、换页符等等;中文全角空格\s 并不能匹配中文全角空格。\s 只能匹配下面六种字符(详见 java.util.regex.Patt...
  • } 使用JS限制input输入框只允许中文汉字、数字、整数等效果,多款代码如下: 判断日文的正则表达式 1. GBK (GB2312/GB18030) \x00-\xff GBK双字节编码范围 \x20-\x7f ASCII \xa1-\xff 中文 \x80-\xff 中文 2. UTF-8...
  • 测试代码如下: class T { public static void main(String... args) { String str = "!.....**半角"; System.out.println(str); System.out.println(str.replaceAll("\\p{Punct}", "")); Sys

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,584
精华内容 1,833
关键字:

半角正则