掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 728|回复: 6

[求助] 如何用正则表达式选定6位数以上数值之外的其他字符?

[复制链接]
  • TA的每日心情
    开心
    2024-2-8 22:52
  • 签到天数: 370 天

    [LV.9]以坛为家II

    发表于 2014-8-31 16:48:01 | 显示全部楼层 |阅读模式
    本帖最后由 dave 于 2014-9-1 07:37 编辑 ) X% v4 o' j/ M* d( d
    ' h0 X1 J$ h  D/ F) y4 x+ L1 b
    例题1:242阿迪开342发到法234129380980841sdfkj进来撒  
    ( `0 R& v3 {/ w例题2:水电费869就爱疯了束—+?带结发174019700十分巨大* K: |. S+ H5 o0 t( u9 J# N5 N6 ?
    $ L8 ?6 z1 c* H) b4 D! x# Y& v4 L: P
    0 c5 C, J( u: v0 q; i; ^  G6 r$ f
    例题1选定后字符为:242阿迪开342发到法sdfkj进来撒; F$ X8 M& L5 D* J: k
    例题2选定后字符为:水电费869就爱疯了束—+?带结发十分巨大
    4 h) E' M4 d+ \8 J8 n( L/ m
    + R- a6 G' Z$ x2 S谢谢各位正则表达式高手,正则表达式用来提取数据库中数据
    5 y, }3 N; o3 A, x) h8 z' V5 T' _! u! G
    7 q  M: ~; L4 V  W* G: B# S将选中的替换为空,剩六位以上的数!

    该用户从未签到

    发表于 2014-8-31 18:32:51 | 显示全部楼层
    可不可以先把6位以上的数字都先揪出来,剩下就都是符合要求的了?4 C7 U: s+ o' l. g. K. M- D
  • TA的每日心情
    开心
    2018-10-17 09:01
  • 签到天数: 18 天

    [LV.4]偶尔看看III

    发表于 2014-8-31 18:35:36 | 显示全部楼层
    在vbscript里,一个6位数以上的数字串可以表示为  \d{6,}  ,查找替换为空就可以。
  • TA的每日心情
    开心
    2024-2-8 22:52
  • 签到天数: 370 天

    [LV.9]以坛为家II

     楼主| 发表于 2014-9-1 07:35:22 | 显示全部楼层
    要用的是六位以上的数,所用函数只能将选中的字符替换,所选中的六位以上数以外的字符,然后将其替换,剩下的就是要的东东,anyway, Thanks a lot.
    3 N+ j# G. r$ x5 D! o5 G7 j- z
  • TA的每日心情
    慵懒
    2023-11-29 11:23
  • 签到天数: 783 天

    [LV.10]以坛为家III

    发表于 2014-9-1 15:42:55 | 显示全部楼层
    本帖最后由 lewpad 于 2014-9-4 11:35 编辑 $ M) T4 s" t( e( t" Z4 G7 i: ]

    2 ~2 c, V! C* v7 K/ J要用捕获组():2 \) w. R! r9 c9 J/ Y; Q5 u8 R+ b
    (.+)(\d{6,})(.+) 然后用 \1\ 3或 $1$3 选定非六位以上数字的字符,如果要选六位以上数字就是\2或$2
  • TA的每日心情
    开心
    2024-2-8 22:52
  • 签到天数: 370 天

    [LV.9]以坛为家II

     楼主| 发表于 2014-9-1 23:29:44 | 显示全部楼层
    好思路!谢谢,先学习再用。如一个字段有两组及以的六位以上数,怎么办

    点评

    没看懂你说的意思  发表于 2014-9-2 09:36

    该用户从未签到

    发表于 2014-9-2 18:34:48 | 显示全部楼层
    本帖最后由 vbnet 于 2014-9-2 18:42 编辑 + {5 I/ t6 p+ m" Y& `) |; f3 t

    $ Y' N) b7 y3 `一行如果有好几个6位以上数字
    2 S$ R9 `* k/ T; q/ O6 R# G2 J" _dferddd34567823uygfht678902333htyuiolkh2345676543
    , s5 [& T( k$ i- @' w可用编程来作" R' z; g) m1 l+ w- J
    供参考(用vb.net)
    ( v7 J! c: T" Y5 z6 F---------------------------------------------------
    % T7 w  M0 E) L. T目的:含6位以上数字保留- C2 [8 X! y! p3 y* K
    -----------------------------------------------------
    ; Y8 M- }: s; v% {" d0 Y, FImports System.Text.RegularExpressions
    * d" e# z( @+ l3 K# x1 }& k' X+ {, v4 `. y( Z
    .....3 P2 K/ ~2 x/ O: n
           Dim instance As New Regex("\d{6,}")
    7 w; x) ]& E. w* e# g        Dim str As String = ""
    - L) U" p, y$ g5 [0 ?        Dim contents As MatchCollection = instance.Matches(RichTextBox1.Text)/ K* Y6 y9 C1 N; _) {# K
    * S4 ~, ~0 V0 A# n
            For Each ma As Match In contents2 c& T6 |$ E8 X8 R% A
                str = str + ma.Value + vbCrLf
    1 ~7 j* z) R# n  V" B% {# @        Next, v; Z1 T4 F9 [1 m: }: I. o9 z

    3 y8 y/ [$ M0 V! ?% L1 Y6 f: e        RichTextBox1.Text = str
    4 d- M2 ?& u4 W9 V0 D0 w----------------------------------------------------------6 v7 ^; X& M3 N. v$ _3 Q
    结果:  V/ z6 c% C) B: }1 E
    345678236 C6 O: w. o8 ?/ b* g9 g
    678902333
    8 Y. w) I' `% v9 b. O2345676543
    3 d, H+ H: W" f: s; Z1 d
      z' \* [9 d1 x- p0 B) ~% `% E# L0 f
    8 J* R. ^5 X& z3 X1 l. v
    再试:8 ^1 F- o7 Y6 p
    ------------------------------------------------------------------+ a7 ^+ b' H% Q  Y4 V6 m9 s
    法尔考接过9号球345678997衣后将肯定在本1234567赛季引领球队锋线,
    1 A8 W  e2 A, h% E6 e球衣之3432398前的主人正是摩纳哥前锋贝7654321尔巴托夫,后者在
    . p) j& z" M# ?- V2012年离队。453456788其他穿过这件球衣的人有萨哈、安迪-科
    . }; Y* w: N7 J+ W尔以及布莱恩-麦克莱尔,以890874上四位曼联9号曾经的主人
    8 Q+ i3 ^2 I; t$ Q/ }总共为球队打进1871234567粒顶级联赛进球,但87654321是仅在2010/11) z1 k% G) N  p
    赛季,贝234567765尔巴托夫以21球夺得英超金靴。
    ' E' g( i  p8 ]& `---------------------------------------------------------------------- l. A5 j! y8 n9 V, k
    结果:
    4 j! E5 |1 S6 H4 Q) `0 A9 D8 O345678997. j. f7 E& ?* H# n5 L
    1234567+ ^$ E  p1 ?; i; |
    34323983 x" [1 p5 W* v0 {: \
    7654321
    2 I. o. B  ^" t) C4 M/ P! D! i453456788
    - ?0 t' ~  U8 [$ z6 t890874
    ) g8 f' L' C: ^1871234567( x7 Q% ?# Q6 X# Q
    87654321
    9 {. S3 I4 f6 c% X( J' u5 B; f2345677658 {+ o# C! C9 P6 K* M
    5 n: a) H& V$ {/ B% X8 b

    * ?& B/ R9 m; `$ H) j& x. W
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

    小黑屋|手机版|Archiver|PDAWIKI |网站地图

    GMT+8, 2024-4-28 09:34 , Processed in 0.083735 second(s), 13 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

    快速回复 返回顶部 返回列表