掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 1048|回复: 9

[求助] 请教正则表达式

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

    [LV.9]以坛为家II

    发表于 2014-5-17 10:50:26 | 显示全部楼层 |阅读模式
    如何用正则表达式查找两个</>之间仅两行(两个回车)切每行均不含</>。谢谢
  • TA的每日心情
    慵懒
    2023-11-29 11:23
  • 签到天数: 783 天

    [LV.10]以坛为家III

    发表于 2014-5-19 15:07:19 | 显示全部楼层
    本帖最后由 lewpad 于 2014-5-19 15:09 编辑
    * }2 n# X. ?* N3 ~+ Y1 f. P# n
    5 I/ g/ E" ]' m- ^你应该要找的是这样的的吧$ l8 Y; t0 f+ Z5 E& A" C
    </>
    8 n) r; Z3 b# e( |内容内容内容
    ' A# V& _# q' A* B/ r; b# R正则正则正正这正则在
    * q. r3 r# q' d5 U2 e</>! R2 s: O0 Q$ ]
    在windows系统下正则表达式: </>\r\n([^</>].+)\r\n(.+[^</>])\r\n<\>   
    " [$ K0 [- u; M1 p* w1 |) S其中 </>\r\n 就是表示第一行,([^</>].+)表示不含</>的第二行的内容,\r\n表示第二行末尾的换行符,(.+[^</>])表示不含</>的第三行的内容,\r\n表示第三行末尾换行符。
    1 c3 T8 ~' A2 V( |: O, a2 M<\> 表示第四行。不知道是否符合您的要求。
    $ E5 `* j% |4 p( h% b" t

    点评

    假如第三行是>結尾就失效了  发表于 2014-5-19 15:22
  • TA的每日心情
    慵懒
    2023-11-29 11:23
  • 签到天数: 783 天

    [LV.10]以坛为家III

    发表于 2014-5-20 10:38:34 | 显示全部楼层
    本帖最后由 lewpad 于 2014-5-20 11:00 编辑
    - d7 t: H5 i" v) r
    ' @- G' A: k# ?% g
    , E- m" R4 L! {4 }% ~9 C0 l9 C* c% P1 ^4 C

    9 \$ y" L, \) m4 \) E. @/ [
    . G" s' p. t* @0 q  s5 J3 q; E! u
      y( E3 y8 I% n# d3 x

    & N+ A) s, Q/ z6 u8 O, J0 F2 V. p9 q$ R- ]6 ]
    @ryuya  谢谢指教,但还是不明白,[^是对后面的所有字符取非,还是对字符串<\>取非?" t1 _; ?1 D9 {% }% e
    ; b% h  R8 D, {0 J& N* V5 d9 b9 c1 h
      X" o& I5 j% ~; E

      {  ]! r4 R& z+ m" X/ k4 P4 G+ m
    * n6 c8 a. n5 V  U. ^4 x( |% p% k' k

    该用户从未签到

    发表于 2014-5-20 11:01:00 | 显示全部楼层
    [^</>]   ←這樣是一個字元 任何非 </ 也非 > 的字元
      u0 `" \% P, Q4 G: B% P. M0 S正確寫法是 (.+[^<][^/][^>])
    + z1 h) J! `6 m$ F( w4 z
    1 |4 S) G! }0 o; D" V! b, ~) A! x不過我不會這樣寫就是了...
    ; I) D7 _! H: `
      |1 _/ N+ E4 k% c* W: G% F( `btw其實我根本看不懂樓主的問題

    点评

    受教了,再次谢谢  发表于 2014-5-20 17:45
  • TA的每日心情
    慵懒
    2023-11-29 11:23
  • 签到天数: 783 天

    [LV.10]以坛为家III

    发表于 2014-5-20 17:53:13 | 显示全部楼层
    ryuya 发表于 2014-5-20 11:01
    ) C4 g; B, F$ s[^]   ←這樣是一個字元 任何非 < 非 / 也非 > 的字元  ?6 h5 L3 o( H: c% s) }
    正確寫法是 (.+[^])

    * n: c+ v: H) P" ~从regexbuddy 验证是这样的:
    ' Z0 z$ c6 f5 u* r: M6 T% r) L

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?免费注册

    x
  • TA的每日心情
    开心
    2024-2-8 22:52
  • 签到天数: 370 天

    [LV.9]以坛为家II

     楼主| 发表于 2014-5-21 20:30:58 | 显示全部楼层
    谢谢两位赐教,好好学习消化一下。
  • TA的每日心情
    开心
    2024-2-8 22:52
  • 签到天数: 370 天

    [LV.9]以坛为家II

     楼主| 发表于 2014-5-21 20:54:31 | 显示全部楼层
    本帖最后由 dave 于 2014-5-21 20:56 编辑 0 `" U4 ]9 B, j# h3 k
    2 V$ ^" e8 _& \% K# T  T2 |
    我的意思是如何通过正则表达式来检查出不符合下列格式的行或者词条
    9 o+ s  h3 N" G" L0 S- g9 K</>  u) \% x* r0 e  j2 J; P4 A$ z
    内容内容内容
    + H- T7 T5 Y5 ~正则正则正正这正则在
      u5 g& \; E2 s- l5 C& O</>

    该用户从未签到

    发表于 2014-5-21 23:34:30 | 显示全部楼层
    Regular Expression不是設計來找例外的
    : @& T# v  q9 O+ e& O2 h8 ?% f所以一步到位的方法,沒有。
    + O( p" B- C  `5 k/ }& P3 N3 y1 [& l( @' R. B: Y
    幾個 tricks 可以使用
    & `/ p6 A" D  }( I  B$ A% D8 e比方說先尋找全部 </> 的總數
    ) O; T" f3 S8 B7 P+ m然後把文本拿去餵 MdxBuilder 它會告訴你 entries 總數
    . K1 r2 B+ A$ T: _" X兩個數目一致,那就沒問題
    # ]$ p. N  Z6 H* g$ `
    5 e! p' \* e( g* h5 t$ o如果不一致
    7 a! i) a6 h# e7 h3 H. @找出問題方法也很多種7 _& o+ ]. A6 `" m! l" s7 |6 b
    例如:排除正常,剩下的就是異常
    ; Y: h3 d. w$ F9 C把 ^</>$ 代換成 < / >
    % [9 r0 \* o: o4 G剩下殘存的 </> 就是異常處/ y% b5 n- {; J9 S. Y0 |9 f

    " Q+ P9 ?. X; G; J& r5 H或是用 </>\n.*?</> 和 </>.*?\n</> 找例外
    4 P6 U5 q, G5 J& J4 ^" G3 q
    7 d& A' {. r. l; R, L
  • TA的每日心情
    开心
    2024-2-8 22:52
  • 签到天数: 370 天

    [LV.9]以坛为家II

     楼主| 发表于 2014-5-24 21:31:22 | 显示全部楼层
    本帖最后由 dave 于 2014-5-24 21:33 编辑 ( R4 K$ W% w% F9 Z0 T6 D2 s

    8 M+ f* P$ f7 [! @, `) s谢谢ryuya指教!

    该用户从未签到

    发表于 2014-7-15 16:07:10 | 显示全部楼层
    受教了。。。{:10_273:}
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-4-29 01:22 , Processed in 0.048896 second(s), 11 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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