正则表达式的学习

最近写了一个匹配以什么什么开头,以什么什么结尾的,且字符串长度不超过多少的正则

pattern = re.compile(r’肌酐[\w|:|/|↑|.| |(|)|:|\u4e00-\u9fa5]{,20}L’) #/&;/g [\u4e00-\u9fa5]

(此处为以肌酐开头,以L结尾的匹配)

p.append(pattern)

在学习时,注意到了/g这个用法,能让match函数返回多个值,然后是\.来匹配点

还有没有非某个范围的说法,比如企图用/|\u4e00-\u9fa5]来匹配不是中文的一切东西是不行的

然后是group的用法,这就是个分组

如果正则里面有小括号部分,括起来的就是分组,第一个是分组1,第二个是分组2

例子

import re
pattern = re.compile(‘(\d+).(\d)?’)
s=’肌酐(Cr): 456,187.0μmol/L546.555′
searchObj = re.search(pattern, s, flags=0)
print(searchObj.group(1))

只能匹配某个范围,没有非

了解到 ?* 和 {,20} 从某种程度来说,很像,?*只是一个没有确定值的范围,尽可能少

了解到断言?:

首先,正则表达式的”非”,代表不想匹配某个字符。

比如字符串 helloword123,/[^0-9]+/g 可以匹配非数字,即匹配结果为 helloword;

同样的,/[^he]+/g 可以匹配非h非e的字符,匹配结果为lloword123;

那么 /[^hello]/g 呢?乍一看可能会以为能匹配word123,其实不然,[^] 内的多个字符是”或”的关系存在的,即它们并不是一个整体,/[^hello]/g 表示 非h非e非l非o,并不能理解为 非(hello),所以匹配结果是 w 和 rd123。

道理我们都懂,可我们就是想匹配非某个字符串呢?比如某一字符串若是含有hello则无匹配,若是不含hello则匹配,写成[^hello]是显然不行的,[^(hello)] 呢?其实不起作用。

这时我们需要用到正则表达式的断言——(?!pattern) 零宽负向先行断言 或者 (?<!pattern) 零宽负向后行断言 均可。

这里只介绍一种写法,大家可以都去尝试一下。

/^((?!hello).)+$/

由于断言 (?!hello)是不占位的,后跟的 . 在原位置匹配任意字符,再用括号将其括起来,用+重复一次或多次,前后加上^和$,若是字符串中存在hello,则匹配到h字符之前的时候,断言(?!hello)匹配失败,正则匹配结果为false, 若是字符串中不存在hello,则匹配结果是整个字符串。

用法实战

  1. 匹配&和;之间不含有test的字符

str = “hello&nbsp; &test1;test&qout;”;

正则表达式:/&((?!test).)+;/g

匹配结果:&nbsp;和 &qout;

2.匹配不含有标签的标签

str = “<div id=’1′><img class=’xx’></div><div id=’1′><input type=”text”></div>“;

正则表达式: /<div[^>]*>((?!<img[^>]*>).)+</div>/g

匹配结果:<div id=’1′><input type=”text”></div>

“正则表达式的学习”的3,440个回复

  1. I believe that is one of the such a lot significant information for me.
    And i’m happy studying your article. However wanna remark on some normal things,
    The web site taste is great, the articles is in point of fact nice : D.
    Good task, cheers

  2. Hmm it seems like your blog ate my first comment (it was
    extremely long) so I guess I’ll just sum it up what I submitted and say,
    I’m thoroughly enjoying your blog. I too am an aspiring blog blogger
    but I’m still new to everything. Do you have any tips
    and hints for beginner blog writers? I’d genuinely appreciate it.

  3. I’m extremely impressed with your writing skills as well
    as with the layout on your weblog. Is this a paid theme or did you customize it yourself?

    Either way keep up the excellent quality writing, it is rare to see a nice blog like this one today.

  4. I have been surfing online more than 3 hours today, yet I
    never found any interesting article like yours.
    It is pretty worth enough for me. In my view, if all web
    owners and bloggers made good content as you did, the web will be much more
    useful than ever before.

  5. Pingback: 50mg viagra
  6. Pingback: cialis 10 mg tab pill
  7. Pingback: elexusbet
  8. Pingback: madridnet
  9. Pingback: meritking
  10. Pingback: meritroyalbet
  11. Pingback: eurocasino
  12. Pingback: meritroyalbet
  13. Pingback: meritroyalbet
  14. Pingback: red viagra pills
  15. Pingback: cialis cost
  16. Do you have a spam issue on this website; I also am a
    blogger, and I was wanting to know your situation; many of us
    have created some nice methods and we are looking
    to swap techniques with others, please shoot me an email if interested.

  17. Betroad giriş yap ve hemen oyunları oynamaya başla. Betroad promosyon ve bonus avantajları ile de kullanıcılarının gözdesi haline gelmiştir. Betroad sitesinde giriş imkânı oldukça kolaydır ve yeni giriş ile kolay tasarlanan arayüzü sayesinde Betroad yükselişe geçmektedir. Betroad sitesinde oyun oynamayı sevenler, maksimum keyif alabilecekler ve istedikleri bahis oyunlarıyla güzelce zaman geçirebileceklerdir. Betroad’da bahis oyunları seçenekleri geniş bir yelpazede olduğundan seçeneklerinizde oldukça fazladır.. Seo Uzmanı. https://www.facebook.com/umutcan.phtml

  18. Pingback: meritroyalbet
  19. Pingback: meritroyalbet
  20. Pingback: madridbet
  21. Varsa Paran, Koy Kazan Güvenli, çapkın ve 24 ayarda bir oyun deneyimine hazır mısın? Canlı bahis, canlı casino, canlı olduğunu hissetmen için gereken her şey. Sabah akşam, Hovarda olmak istediğin her an, bilgisayar, tablet, akıllı TV ve mobil cihazlarından yerini al. Canlı Bahis ve Casinonun Hovarda dünyasına hoşgeldin.

  22. Casibom güncel giriş adımlarını tamamlarken kişilerin dilerlerse işlemlerini mobile olarak da tamamlamasına izin verilmektedir. Mobile erişim adımlarında sorun yaşamamak için cihazınızın sadece sizin kullanımınıza açık olması gerekmektedir. Çoklu kullanıma açık olan cihazlarda kişilerin erişimi ile alakalı sorunlar meydana gelebilmektedir. Casibom sitesinde kullanıcıların masaüstü versiyonda hangi oyunlardan ve olanaklardan istifade ediyorlarsa, aynı şekilde mobile sistemde de aynı işlem akışından istifade etmelerine imkan verilmektedir. Mobile erişim adımlarını yerine getirirken uygulama ya da tarayıcı kullanabilirsiniz. Uygulama kullanmak isteyen kişilerin cihazlarına Google Play Store ya da AppStore üzerinden aplikasyonu indirmeleri gerekmektedir. Uygulama indirme aşamasında sizden herhangi bir ücret talep edilmeyecektir. Cihazınızın yavaşlamasına ya da işlem kapasitesinin düşmesine de neden olmayacağının ayrıca iletilmesi gerekmektedir. Casibom kullanıcı memnuniyeti konusunda en kapsamlı hizmetleri veren siteler arasındadır.

  23. Varsa Paran, Koy Kazan Güvenli, çapkın ve 24 ayarda bir oyun deneyimine hazır mısın? Canlı bahis, canlı casino, canlı olduğunu hissetmen için gereken her şey. Sabah akşam, Hovarda olmak istediğin her an, bilgisayar, tablet, akıllı TV ve mobil cihazlarından yerini al. Canlı Bahis ve Casinonun Hovarda dünyasına hoşgeldin.

  24. Casibom güncel giriş adresi değişim adımları konusunda kullanıcılar sorunsuz şekilde bilgilendirilecektir. Bu noktada kişilerin siteye kayıt aşamasında vermiş olduğu iletişim numaraları üzerinden bilgilendirme tamamlanacaktır. Bu numaraların doğru verilmesinin ne derece önemli olduğu bir kere daha anlaşılmaktadır. Kullanıcıların alan adı değişiminden sosyal medya sitelerini kullanarak da haberdar olmasına imkan verilmektedir. Instagram, Telegram mesajlaşma uygulaması ya da Twitter üzerinden de bilgilendirme sağlanmaktadır. Kullanıcıların domain adresi değişimi sebebi ile mağdur olmalarına kesinlikle izin verilmeyecektir. Kullanıcıların siteye dair yaptıkları tüm yorumlara da sosyal medya platformları üzerinden erişebilirsiniz. Kullanıcıların ne düşündükleri, alan adı değişimi, bahis olanakları ve çok daha fazlası ile alakalı yapılan yorumlar, sosyal medya üzerinden erişime açıktır. Siz de yorumlarınızı ve görüşlerinizi anında iletebilirsiniz.

  25. Gerektiğinde gecelik görüşebilen sizin isteğinize göre saatlik ya da tek seans şeklinde de randevular veren esma yada sarışın güzeller kalite standartlarını çok yüksek tutuyor sağlıklı ilişkileri ile sizi güvenilir koşullarda misafir ederek mutlu ediyor. Elit kadınlara güvenin onlarla beraber harika ucuz girls ilişkileri yaşamak için harekete geçin. Enerji dolu seks ilişkileri paylaşan dinamik üniversiteli genç kızlarda Kayseri escort platformu içerisinde sizin için üyelik oluşturdu. Eve gelen ve otele gelen seçenekleri ile bu kızlardan randevu alabilir sınırsız seks ayrıcalığını onlarla beraber yaşayabilir hatta anal ve cimcif ilişkilerde de buluşabilirsiniz.

  26. Pingback: meritroyalbet