regex
Mynegiant Rheolaidd
Regex yw'r acronym ar gyfer Mynegiant Rheolaidd.
Beth yw Mynegiant Rheolaidd?
Dilyniant o nodau sy'n diffinio patrwm chwilio. Defnyddir y patrymau chwilio hyn i baru a thrin tannau, neu setiau o linynnau.
Cyflwynwyd y cysyniad o ymadroddion rheolaidd am y tro cyntaf yn y 1950au pan ffurfiolodd y mathemategydd Americanaidd Stephen Kleene y disgrifiad o ieithoedd rheolaidd, sef dosbarth o ieithoedd y gellir eu hadnabod gan awtomata meidraidd. Yn yr 1980au, cyflwynwyd ymadroddion rheolaidd i fyd UNIX, ac ers hynny, maent wedi dod yn nodwedd safonol mewn llawer o ieithoedd ac offer rhaglennu.
Mae bron pob iaith raglennu fodern yn cefnogi mynegiant rheolaidd. Mae rhai enghreifftiau yn cynnwys Python, Java, C ++, C #, a JavaScript. Yn ogystal, mae llawer o olygyddion testun, fel vim, emacs, a Sublime Text, yn cefnogi mynegiadau rheolaidd ar gyfer gweithrediadau chwilio a disodli.
Gall ymadroddion rheolaidd fod yn bwerus iawn a gallant gynnwys ystod eang o nodau arbennig a chystrawen i gydweddu a thrin tannau. Mae llawer o adnoddau ar-lein a thiwtorialau ar gael a all eich helpu i ddysgu mwy am ymadroddion rheolaidd a sut i'w defnyddio.
Dyma enghraifft o fynegiad rheolaidd a all ddilysu rhif ffôn rhyngwladol:
^\+(?:[0-9] ?){6,14}[0-9]$
Dyma ddadansoddiad o bob un o'r camau yn y mynegiant rheolaidd uchod:
^
– Mae'r symbol hwn yn cyfateb i ddechrau'r llinyn.\+
– Mae hyn yn cyfateb i'r symbol plws ar ddechrau'r rhif ffôn. Defnyddir y slaes i ddianc rhag ystyr arbennig y symbol plws, sef i gyd-fynd ag un neu fwy o ddigwyddiadau o'r cymeriad blaenorol.(?:[0-9] ?){6,14}
– Mae hwn yn grŵp nad yw'n dal sy'n cyfateb rhwng 6 a 14 digwyddiad o ddigid (0-9) ac yna bwlch dewisol. Mae'r?:
yn cael ei ddefnyddio i greu grŵp nad yw'n dal, sy'n golygu y bydd y grŵp yn cael ei baru, ond ni fydd yn dal y testun sy'n cyfateb gan y grŵp. Defnyddir grwpiau cipio i storio'r testun wedi'i gyfateb gan gyfran o'r mynegiant rheolaidd i'w ddefnyddio'n ddiweddarach.[0-9]
– Mae hyn yn cyfateb i un digid (0-9).$
– Mae'r symbol hwn yn cyfateb i ddiwedd y llinyn.
Dyma rai enghreifftiau o rifau ffôn a fyddai'n cyfateb i'r mynegiant rheolaidd hwn:
- + 1 555 555 5555
- + 44 20 7123 4567
- + 61 2 9876 5432
- +1 (555) 555-5555
- + 44 20 7123 4567
A dyma rai enghreifftiau o rifau ffôn na fyddai’n cyfateb:
- 555-555-5555 (symbol “plus” arweiniol ar goll)
- +1 555 555 (rhy ychydig o ddigidau)
- +1 555 555 55555 (gormod o ddigidau)
Cofiwch mai dim ond un ffordd yw hon i ddilysu rhif ffôn rhyngwladol, ac mae yna lawer o ymadroddion rheolaidd eraill y gellid eu defnyddio at y diben hwn. Mae hefyd yn bwysig nodi na fydd y mynegiant rheolaidd hwn yn gwirio bod y rhif ffôn yn cael ei ddefnyddio mewn gwirionedd na'i fod yn perthyn i unigolyn penodol. Bydd ond yn gwirio bod y rhif mewn fformat dilys.
Talfyrwyd hefyd regexp.
- Talfyriad: regex