掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 729|回复: 6

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

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

    [LV.9]以坛为家II

    发表于 2014-8-31 16:48:01 | 显示全部楼层 |阅读模式
    本帖最后由 dave 于 2014-9-1 07:37 编辑
    3 t) }$ M) T( c$ w! z& i; v* j/ u) n# }6 s
    例题1:242阿迪开342发到法234129380980841sdfkj进来撒  
    / C, ]; B, O0 v5 q/ R例题2:水电费869就爱疯了束—+?带结发174019700十分巨大3 u6 W7 m( u2 H% T+ |

      ~8 c; c  z9 l" A& @
    " A7 ]+ b3 k6 s2 r例题1选定后字符为:242阿迪开342发到法sdfkj进来撒
    # q$ y( u" y( {  T! k例题2选定后字符为:水电费869就爱疯了束—+?带结发十分巨大  L, ^8 f9 Z* V0 r, D1 Q" Y

    , D$ ?5 `  F4 {( [9 T谢谢各位正则表达式高手,正则表达式用来提取数据库中数据
    5 U. c/ m, V% X
    8 q1 m7 i- q* ]: b7 h5 P% r将选中的替换为空,剩六位以上的数!

    该用户从未签到

    发表于 2014-8-31 18:32:51 | 显示全部楼层
    可不可以先把6位以上的数字都先揪出来,剩下就都是符合要求的了?
    % u1 n3 z: x! i. ^" a( c9 |7 Z
  • 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.4 |* m/ ^+ c- ]4 U
  • TA的每日心情
    慵懒
    2023-11-29 11:23
  • 签到天数: 783 天

    [LV.10]以坛为家III

    发表于 2014-9-1 15:42:55 | 显示全部楼层
    本帖最后由 lewpad 于 2014-9-4 11:35 编辑 % T7 H* J/ M! K; f- o
    6 @) n8 J) U8 [9 R* D0 C
    要用捕获组():6 d- [! w1 v# d) M% M3 V
    (.+)(\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 编辑 # `* y; \7 K7 m" P9 K) R: I2 ]! o
    ' ~$ n, F. S7 g6 ^
    一行如果有好几个6位以上数字
    2 b2 @" k( s* o: v3 T/ ?; j/ V* Udferddd34567823uygfht678902333htyuiolkh2345676543$ ~( G9 s0 z- b0 b5 G& B9 l/ q+ D
    可用编程来作3 P8 Z6 C4 F0 y+ f+ U" e& O- N1 \
    供参考(用vb.net)# ]6 R/ z) |* v- B. }) c7 [1 v
    ---------------------------------------------------" J# x* y/ G% B8 v
    目的:含6位以上数字保留; p( A9 b! E0 M: j- g; i7 w
    -----------------------------------------------------2 X  c- Z6 y) h5 ?8 f7 c8 F1 T
    Imports System.Text.RegularExpressions
    ! O) f/ s. }% |6 E7 B! S& e* y" G# S( u6 ~9 _5 P, u
    .....6 @  S: a. e+ b9 e; A
           Dim instance As New Regex("\d{6,}")
    $ a: {  O. j2 h& `" |        Dim str As String = ""
    0 I- r) D  r6 j4 R) Z        Dim contents As MatchCollection = instance.Matches(RichTextBox1.Text)
    6 h. M6 o+ u& `  ^( G
      `+ T% J* i; Q1 W( Y        For Each ma As Match In contents
    0 E2 V( N+ C1 t  T2 L" g0 P            str = str + ma.Value + vbCrLf. y/ Y2 a3 Q  L5 ?+ g
            Next
    0 H* w: t; W  H9 b$ ^9 l5 V; L6 f! a) D# t3 A! s
            RichTextBox1.Text = str; C% i' {3 `2 f
    ----------------------------------------------------------$ B* F  \' O6 [/ C9 N% [0 b  W
    结果:3 |; k0 S* R2 f" v9 i
    34567823% J6 H; o, c1 F* U/ F$ w
    678902333
    4 G1 t, K5 D: g* x1 L% y2 X# A2345676543
    + `+ K' @( G! x3 G0 U3 k1 Y+ |9 X; f) N: R! o; R
    ) ~8 D. a8 I# W3 C9 x
    " d$ i$ W- B3 a6 O  m
    再试:4 a/ ]  x& {* C1 O3 g; b
    ------------------------------------------------------------------
    7 w4 \4 ^- |: a2 A8 Z3 ^" B) |法尔考接过9号球345678997衣后将肯定在本1234567赛季引领球队锋线,
    ) R2 d& U' G  J) d3 \# n球衣之3432398前的主人正是摩纳哥前锋贝7654321尔巴托夫,后者在5 M3 t0 n* T8 q, H3 h; e) y
    2012年离队。453456788其他穿过这件球衣的人有萨哈、安迪-科) S% m) X+ ~  v
    尔以及布莱恩-麦克莱尔,以890874上四位曼联9号曾经的主人
    5 q0 _3 A. X" }3 Y* w2 F' L; T总共为球队打进1871234567粒顶级联赛进球,但87654321是仅在2010/11+ m0 G  S" |( S
    赛季,贝234567765尔巴托夫以21球夺得英超金靴。
    ! U1 ?6 c3 P- k4 P---------------------------------------------------------------------- o% @4 U$ c+ M3 B1 \: t
    结果:
    + l* K  A0 j6 E+ w4 M345678997
    8 N; P" A( C( b: k, n. P2 ?1234567
    ) T* M( N+ D6 }1 D3432398
      M4 ]& L6 |2 R3 a- q; F, l5 F( J7654321
    3 I# C! _" f- ]9 A9 ~3 Y; G% ^# [453456788
    2 t/ a/ l$ R& c7 Z/ ~. z8908744 O* H$ h8 R2 k( ~, g
    1871234567
    9 x2 L. w2 v9 u: p6 }9 P87654321
    3 B, V. m% D) s/ c; C! i* B2345677654 w! U+ ?( k# g8 k  {1 O3 A
    : |& C  {5 u7 J1 y# B; `, X

    " G/ g) f! y0 W9 u/ C7 K% S
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-4-28 14:57 , Processed in 0.041237 second(s), 10 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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