Regular Expressions: Is there an AND operator?

后端 未结 12 2012
刺人心
刺人心 2020-11-21 06:34

Obviously, you can use the | (pipe?) to represent OR, but is there a way to represent AND as well?

Specifically, I\'d like to

12条回答
  •  北荒
    北荒 (楼主)
    2020-11-21 07:01

    In addition to the accepted answer

    I will provide you with some practical examples that will get things more clear to some of You. For example lets say we have those three lines of text:

    [12/Oct/2015:00:37:29 +0200] // only this + will get selected
    [12/Oct/2015:00:37:x9 +0200]
    [12/Oct/2015:00:37:29 +020x]
    

    See demo here DEMO

    What we want to do here is to select the + sign but only if it's after two numbers with a space and if it's before four numbers. Those are the only constraints. We would use this regular expression to achieve it:

    '~(?<=\d{2} )\+(?=\d{4})~g'
    

    Note if you separate the expression it will give you different results.

    Or perhaps you want to select some text between tags... but not the tags! Then you could use:

    '~(?<=

    ).*?(?=<\/p>)~g'

    for this text:

    Hello !

    I wont select tags! Only text with in

    See demo here DEMO

提交回复
热议问题