ਸਮੱਗਰੀ
ਐਕਸਲ ਵਿੱਚ ਟੈਕਸਟ ਨਾਲ ਕੰਮ ਕਰਦੇ ਸਮੇਂ ਸਭ ਤੋਂ ਵੱਧ ਸਮਾਂ ਬਰਬਾਦ ਕਰਨ ਵਾਲੇ ਅਤੇ ਨਿਰਾਸ਼ਾਜਨਕ ਕਾਰਜਾਂ ਵਿੱਚੋਂ ਇੱਕ ਹੈ ਪਾਰਸਿੰਗ - ਅਲਫਾਨਿਊਮੇਰਿਕ "ਦਲੀਆ" ਨੂੰ ਭਾਗਾਂ ਵਿੱਚ ਪਾਰਸ ਕਰਨਾ ਅਤੇ ਇਸ ਤੋਂ ਸਾਨੂੰ ਲੋੜੀਂਦੇ ਟੁਕੜਿਆਂ ਨੂੰ ਐਕਸਟਰੈਕਟ ਕਰਨਾ। ਉਦਾਹਰਣ ਲਈ:
- ਪਤੇ ਤੋਂ ਜ਼ਿਪ ਕੋਡ ਨੂੰ ਐਕਸਟਰੈਕਟ ਕਰਨਾ (ਇਹ ਚੰਗਾ ਹੈ ਜੇਕਰ ਜ਼ਿਪ ਕੋਡ ਹਮੇਸ਼ਾ ਸ਼ੁਰੂ ਵਿੱਚ ਹੋਵੇ, ਪਰ ਕੀ ਜੇ ਇਹ ਨਹੀਂ ਹੈ?)
- ਬੈਂਕ ਸਟੇਟਮੈਂਟ ਵਿੱਚ ਭੁਗਤਾਨ ਦੇ ਵਰਣਨ ਤੋਂ ਚਲਾਨ ਦੀ ਸੰਖਿਆ ਅਤੇ ਮਿਤੀ ਦਾ ਪਤਾ ਲਗਾਉਣਾ
- ਵਿਰੋਧੀ ਪਾਰਟੀਆਂ ਦੀ ਸੂਚੀ ਵਿੱਚ ਕੰਪਨੀਆਂ ਦੇ ਮੋਟਲੀ ਵਰਣਨ ਤੋਂ TIN ਕੱਢਣਾ
- ਵਰਣਨ ਵਿੱਚ ਇੱਕ ਕਾਰ ਨੰਬਰ ਜਾਂ ਲੇਖ ਨੰਬਰ ਦੀ ਖੋਜ ਕਰੋ, ਆਦਿ।
ਆਮ ਤੌਰ 'ਤੇ ਅਜਿਹੇ ਮਾਮਲਿਆਂ ਵਿੱਚ, ਟੈਕਸਟ ਨੂੰ ਹੱਥੀਂ ਚੁਣਨ ਦੇ ਅੱਧੇ ਘੰਟੇ ਬਾਅਦ, ਵਿਚਾਰ ਮਨ ਵਿੱਚ ਆਉਣੇ ਸ਼ੁਰੂ ਹੋ ਜਾਂਦੇ ਹਨ ਕਿ ਕਿਸੇ ਤਰ੍ਹਾਂ ਇਸ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਸਵੈਚਲਿਤ ਕੀਤਾ ਜਾਵੇ (ਖਾਸ ਕਰਕੇ ਜੇ ਬਹੁਤ ਸਾਰਾ ਡੇਟਾ ਹੋਵੇ)। ਇੱਥੇ ਬਹੁਤ ਸਾਰੇ ਹੱਲ ਹਨ ਅਤੇ ਜਟਿਲਤਾ-ਕੁਸ਼ਲਤਾ ਦੀਆਂ ਵੱਖ-ਵੱਖ ਡਿਗਰੀਆਂ ਦੇ ਨਾਲ:
- ਵਰਤੋ ਬਿਲਟ-ਇਨ ਐਕਸਲ ਟੈਕਸਟ ਫੰਕਸ਼ਨ ਖੋਜ-ਕੱਟ-ਗਲੂ ਟੈਕਸਟ ਲਈ: LEVSIMV (ਖੱਬੇ), ਸੱਜੇ (ਸੱਜੇ), ਪੀਐਸਟੀਆਰ (ਮੱਧ), STsEPIT (CONCATENATE) ਅਤੇ ਇਸਦੇ ਐਨਾਲਾਗ, ਇਕੱਠਾ ਕਰੋ (JOINTEXT), ਬਿਲਕੁਲ (ਸਟੀਕ) ਆਦਿ। ਇਹ ਤਰੀਕਾ ਚੰਗਾ ਹੈ ਜੇਕਰ ਟੈਕਸਟ ਵਿੱਚ ਇੱਕ ਸਪੱਸ਼ਟ ਤਰਕ ਹੈ (ਉਦਾਹਰਨ ਲਈ, ਸੂਚਕਾਂਕ ਹਮੇਸ਼ਾਂ ਪਤੇ ਦੇ ਸ਼ੁਰੂ ਵਿੱਚ ਹੁੰਦਾ ਹੈ)। ਨਹੀਂ ਤਾਂ, ਫਾਰਮੂਲੇ ਬਹੁਤ ਜ਼ਿਆਦਾ ਗੁੰਝਲਦਾਰ ਹੋ ਜਾਂਦੇ ਹਨ ਅਤੇ, ਕਈ ਵਾਰ, ਇਹ ਐਰੇ ਫਾਰਮੂਲੇ ਤੱਕ ਵੀ ਆਉਂਦਾ ਹੈ, ਜੋ ਵੱਡੀਆਂ ਟੇਬਲਾਂ 'ਤੇ ਬਹੁਤ ਹੌਲੀ ਹੋ ਜਾਂਦਾ ਹੈ।
- ਦਾ ਇਸਤੇਮਾਲ ਕਰਕੇ ਜਿਵੇਂ ਟੈਕਸਟ ਸਮਾਨਤਾ ਆਪਰੇਟਰ ਇੱਕ ਕਸਟਮ ਮੈਕਰੋ ਫੰਕਸ਼ਨ ਵਿੱਚ ਲਪੇਟਿਆ ਵਿਜ਼ੂਅਲ ਬੇਸਿਕ ਤੋਂ। ਇਹ ਤੁਹਾਨੂੰ ਵਾਈਲਡਕਾਰਡ ਅੱਖਰਾਂ (*, #,?, ਆਦਿ) ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਵਧੇਰੇ ਲਚਕਦਾਰ ਖੋਜ ਨੂੰ ਲਾਗੂ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ, ਬਦਕਿਸਮਤੀ ਨਾਲ, ਇਹ ਟੂਲ ਟੈਕਸਟ ਤੋਂ ਲੋੜੀਦੀ ਸਬਸਟ੍ਰਿੰਗ ਨੂੰ ਐਕਸਟਰੈਕਟ ਨਹੀਂ ਕਰ ਸਕਦਾ ਹੈ - ਸਿਰਫ ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਇਹ ਇਸ ਵਿੱਚ ਸ਼ਾਮਲ ਹੈ।
ਉਪਰੋਕਤ ਤੋਂ ਇਲਾਵਾ, ਇੱਕ ਹੋਰ ਪਹੁੰਚ ਹੈ ਜੋ ਪੇਸ਼ੇਵਰ ਪ੍ਰੋਗਰਾਮਰਾਂ, ਵੈਬ ਡਿਵੈਲਪਰਾਂ ਅਤੇ ਹੋਰ ਤਕਨੀਕੀਆਂ ਦੇ ਤੰਗ ਚੱਕਰਾਂ ਵਿੱਚ ਬਹੁਤ ਚੰਗੀ ਤਰ੍ਹਾਂ ਜਾਣੀ ਜਾਂਦੀ ਹੈ - ਇਹ ਹੈ ਨਿਯਮਤ ਸਮੀਕਰਨ (ਰੈਗੂਲਰ ਐਕਸਪ੍ਰੈਸ਼ਨ = RegExp = “regexps” = “ਰੈਗੂਲਰ”)। ਸੌਖੇ ਸ਼ਬਦਾਂ ਵਿਚ, RegExp ਇੱਕ ਭਾਸ਼ਾ ਹੈ ਜਿੱਥੇ ਟੈਕਸਟ ਵਿੱਚ ਲੋੜੀਂਦੇ ਸਬਸਟਰਿੰਗਾਂ ਦੀ ਖੋਜ ਕਰਨ, ਉਹਨਾਂ ਨੂੰ ਐਕਸਟਰੈਕਟ ਕਰਨ ਜਾਂ ਉਹਨਾਂ ਨੂੰ ਹੋਰ ਟੈਕਸਟ ਨਾਲ ਬਦਲਣ ਲਈ ਵਿਸ਼ੇਸ਼ ਅੱਖਰ ਅਤੇ ਨਿਯਮਾਂ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।. ਰੈਗੂਲਰ ਸਮੀਕਰਨ ਇੱਕ ਬਹੁਤ ਹੀ ਸ਼ਕਤੀਸ਼ਾਲੀ ਅਤੇ ਸੁੰਦਰ ਟੂਲ ਹੈ ਜੋ ਟੈਕਸਟ ਦੇ ਨਾਲ ਕੰਮ ਕਰਨ ਦੇ ਹੋਰ ਸਾਰੇ ਤਰੀਕਿਆਂ ਨੂੰ ਮਾਪ ਦੇ ਕ੍ਰਮ ਦੁਆਰਾ ਪਛਾੜਦਾ ਹੈ। ਕਈ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾਵਾਂ (C#, PHP, ਪਰਲ, JavaScript…) ਅਤੇ ਟੈਕਸਟ ਐਡੀਟਰ (Word, Notepad++…) ਰੈਗੂਲਰ ਸਮੀਕਰਨਾਂ ਦਾ ਸਮਰਥਨ ਕਰਦੇ ਹਨ।
Microsoft Excel ਵਿੱਚ ਬਦਕਿਸਮਤੀ ਨਾਲ RegExp ਸਮਰਥਨ ਬਾਕਸ ਤੋਂ ਬਾਹਰ ਨਹੀਂ ਹੈ, ਪਰ ਇਸਨੂੰ VBA ਨਾਲ ਆਸਾਨੀ ਨਾਲ ਠੀਕ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਟੈਬ ਤੋਂ ਵਿਜ਼ੂਅਲ ਬੇਸਿਕ ਐਡੀਟਰ ਖੋਲ੍ਹੋ ਡਿਵੈਲਪਰ (ਡਿਵੈਲਪਰ) ਜਾਂ ਕੀਬੋਰਡ ਸ਼ਾਰਟਕੱਟ Alt+F11. ਫਿਰ ਮੀਨੂ ਰਾਹੀਂ ਨਵਾਂ ਮੋਡੀਊਲ ਪਾਓ ਸੰਮਿਲਿਤ ਕਰੋ - ਮੋਡੀਊਲ ਅਤੇ ਹੇਠਾਂ ਦਿੱਤੇ ਮੈਕਰੋ ਫੰਕਸ਼ਨ ਦੇ ਟੈਕਸਟ ਨੂੰ ਉੱਥੇ ਕਾਪੀ ਕਰੋ:
ਪਬਲਿਕ ਫੰਕਸ਼ਨ RegExpExtract(ਟੈਕਸਟ ਸਟ੍ਰਿੰਗ ਦੇ ਤੌਰ 'ਤੇ, ਪੈਟਰਨ ਦੇ ਤੌਰ 'ਤੇ, ਪੂਰਨ ਅੰਕ ਵਜੋਂ ਵਿਕਲਪਿਕ ਆਈਟਮ = 1) ਗਲਤੀ 'ਤੇ ਸਟ੍ਰਿੰਗ ਦੇ ਤੌਰ 'ਤੇ GoTo ErrHandl ਸੈੱਟ ਕਰੋ regex = CreateObject("VBScript.RegExp") regex.Pattern = ਪੈਟਰਨ regex.Global = IfregT True। (ਟੈਕਸਟ) ਫਿਰ ਮੈਚ ਸੈੱਟ ਕਰੋ = regex.Execute(Text) RegExpExtract = matches.Item(Item - 1) Exit Function End If ErrHandl: RegExpExtract = CVErr(xlErrValue) ਫੰਕਸ਼ਨ ਖਤਮ ਕਰੋ
ਅਸੀਂ ਹੁਣ ਵਿਜ਼ੂਅਲ ਬੇਸਿਕ ਐਡੀਟਰ ਨੂੰ ਬੰਦ ਕਰ ਸਕਦੇ ਹਾਂ ਅਤੇ ਆਪਣੀ ਨਵੀਂ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਅਜ਼ਮਾਉਣ ਲਈ ਐਕਸਲ 'ਤੇ ਵਾਪਸ ਜਾ ਸਕਦੇ ਹਾਂ। ਇਸਦਾ ਸੰਟੈਕਸ ਹੇਠ ਲਿਖੇ ਅਨੁਸਾਰ ਹੈ:
=RegExpExtract(txt; ਪੈਟਰਨ; ਆਈਟਮ )
ਜਿੱਥੇ ਕਿ
- txt - ਟੈਕਸਟ ਵਾਲਾ ਇੱਕ ਸੈੱਲ ਜਿਸਦੀ ਅਸੀਂ ਜਾਂਚ ਕਰ ਰਹੇ ਹਾਂ ਅਤੇ ਜਿਸ ਤੋਂ ਅਸੀਂ ਲੋੜੀਂਦੇ ਸਬਸਟਰਿੰਗ ਨੂੰ ਐਕਸਟਰੈਕਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹਾਂ
- ਪੈਟਰਨ - ਸਬਸਟਰਿੰਗ ਖੋਜ ਲਈ ਮਾਸਕ (ਪੈਟਰਨ)
- ਆਈਟਮ - ਐਕਸਟਰੈਕਟ ਕੀਤੇ ਜਾਣ ਵਾਲੇ ਸਬਸਟਰਿੰਗ ਦੀ ਕ੍ਰਮ ਸੰਖਿਆ, ਜੇਕਰ ਉਹਨਾਂ ਵਿੱਚੋਂ ਕਈ ਹਨ (ਜੇ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਹੈ, ਤਾਂ ਪਹਿਲੀ ਮੌਜੂਦਗੀ ਪ੍ਰਦਰਸ਼ਿਤ ਕੀਤੀ ਜਾਂਦੀ ਹੈ)
ਇੱਥੇ ਸਭ ਤੋਂ ਦਿਲਚਸਪ ਗੱਲ, ਬੇਸ਼ੱਕ, ਪੈਟਰਨ ਹੈ - RegExp ਦੀ "ਭਾਸ਼ਾ ਵਿੱਚ" ਵਿਸ਼ੇਸ਼ ਅੱਖਰਾਂ ਦੀ ਇੱਕ ਟੈਂਪਲੇਟ ਸਤਰ, ਜੋ ਦੱਸਦੀ ਹੈ ਕਿ ਅਸੀਂ ਅਸਲ ਵਿੱਚ ਕੀ ਅਤੇ ਕਿੱਥੇ ਲੱਭਣਾ ਚਾਹੁੰਦੇ ਹਾਂ। ਤੁਹਾਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਇੱਥੇ ਸਭ ਤੋਂ ਬੁਨਿਆਦੀ ਹਨ:
ਪੈਟਰਨ | ਵੇਰਵਾ |
. | ਸਭ ਤੋਂ ਸਰਲ ਇੱਕ ਬਿੰਦੀ ਹੈ। ਇਹ ਨਿਰਧਾਰਤ ਸਥਿਤੀ 'ਤੇ ਪੈਟਰਨ ਦੇ ਕਿਸੇ ਵੀ ਅੱਖਰ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ। |
s | ਕੋਈ ਵੀ ਅੱਖਰ ਜੋ ਸਪੇਸ (ਸਪੇਸ, ਟੈਬ, ਜਾਂ ਲਾਈਨ ਬਰੇਕ) ਵਰਗਾ ਦਿਸਦਾ ਹੈ। |
S | ਪਿਛਲੇ ਪੈਟਰਨ ਦਾ ਇੱਕ ਵਿਰੋਧੀ ਰੂਪ, ਭਾਵ ਕੋਈ ਵੀ ਗੈਰ-ਵਾਈਟ ਸਪੇਸ ਅੱਖਰ। |
d | ਕੋਈ ਵੀ ਨੰਬਰ |
D | ਪਿਛਲੇ ਇੱਕ ਦਾ ਇੱਕ ਵਿਰੋਧੀ ਰੂਪ, ਭਾਵ ਕੋਈ ਵੀ ਅੰਕ ਨਹੀਂ |
w | ਕੋਈ ਵੀ ਲਾਤੀਨੀ ਅੱਖਰ (AZ), ਅੰਕ, ਜਾਂ ਅੰਡਰਸਕੋਰ |
W | ਪਿਛਲੇ ਇੱਕ ਦਾ ਇੱਕ ਵਿਰੋਧੀ ਰੂਪ, ਭਾਵ ਲਾਤੀਨੀ ਨਹੀਂ, ਕੋਈ ਨੰਬਰ ਨਹੀਂ ਅਤੇ ਅੰਡਰਸਕੋਰ ਨਹੀਂ। |
[ਅੱਖਰ] | ਵਰਗ ਬਰੈਕਟਾਂ ਵਿੱਚ, ਤੁਸੀਂ ਟੈਕਸਟ ਵਿੱਚ ਨਿਰਧਾਰਤ ਸਥਿਤੀ 'ਤੇ ਇੱਕ ਜਾਂ ਵੱਧ ਅੱਖਰ ਨਿਰਧਾਰਤ ਕਰ ਸਕਦੇ ਹੋ। ਉਦਾਹਰਣ ਲਈ ਕਲਾ ਕਿਸੇ ਵੀ ਸ਼ਬਦ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ: ਸਾਰਣੀ ਵਿੱਚ or ਕੁਰਸੀ. ਤੁਸੀਂ ਅੱਖਰਾਂ ਦੀ ਗਿਣਤੀ ਵੀ ਨਹੀਂ ਕਰ ਸਕਦੇ ਹੋ, ਪਰ ਉਹਨਾਂ ਨੂੰ ਇੱਕ ਹਾਈਫਨ ਦੁਆਰਾ ਵੱਖ ਕੀਤੀ ਰੇਂਜ ਦੇ ਤੌਰ ਤੇ ਸੈੱਟ ਕਰ ਸਕਦੇ ਹੋ, ਜਿਵੇਂ ਕਿ ਇਸਦੀ ਬਜਾਏ [ABDCDEF] ਲਿਖਣ ਦੀ [AF]. ਜਾਂ ਇਸਦੀ ਬਜਾਏ [4567] ਪੇਸ਼ ਕਰੋ [-4 7]. ਉਦਾਹਰਨ ਲਈ, ਸਾਰੇ ਸਿਰਿਲਿਕ ਅੱਖਰਾਂ ਨੂੰ ਮਨੋਨੀਤ ਕਰਨ ਲਈ, ਤੁਸੀਂ ਟੈਂਪਲੇਟ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ [a-yaA-YyoYo]. |
[^ਅੱਖਰ] | ਜੇਕਰ ਸ਼ੁਰੂਆਤੀ ਵਰਗ ਬਰੈਕਟ ਦੇ ਬਾਅਦ ਚਿੰਨ੍ਹ "ਲਿਡ" ਜੋੜੋ ^, ਫਿਰ ਸੈੱਟ ਉਲਟ ਅਰਥ ਪ੍ਰਾਪਤ ਕਰੇਗਾ - ਟੈਕਸਟ ਵਿੱਚ ਨਿਸ਼ਚਿਤ ਸਥਿਤੀ 'ਤੇ, ਸੂਚੀਬੱਧ ਲੋਕਾਂ ਨੂੰ ਛੱਡ ਕੇ, ਸਾਰੇ ਅੱਖਰਾਂ ਦੀ ਇਜਾਜ਼ਤ ਹੋਵੇਗੀ। ਹਾਂ, ਟੈਮਪਲੇਟ [^ЖМ]ਉਟ ਲੱਭਣਗੇ ਮਾਰਗ or ਦਵਾਈਆਂ or ਭੁੱਲਣਾ, ਪਰ ਨਾ ਡਰਾਉਣਾ or ਮੱਟ, ਉਦਾਹਰਣ ਵਜੋਂ. |
| | ਬੁਲੀਅਨ ਆਪਰੇਟਰ OR (OR) ਕਿਸੇ ਵੀ ਨਿਰਧਾਰਤ ਮਾਪਦੰਡ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ। ਉਦਾਹਰਣ ਲਈ (ਤੋਂਵੀਰਵਾਰ |ਵੀ|ਇਨਵੌਇਸ) ਕਿਸੇ ਵੀ ਖਾਸ ਸ਼ਬਦਾਂ ਲਈ ਟੈਕਸਟ ਦੀ ਖੋਜ ਕਰੇਗਾ। ਆਮ ਤੌਰ 'ਤੇ, ਵਿਕਲਪਾਂ ਦਾ ਇੱਕ ਸਮੂਹ ਬਰੈਕਟਾਂ ਵਿੱਚ ਬੰਦ ਹੁੰਦਾ ਹੈ। |
^ | ਲਾਈਨ ਦੀ ਸ਼ੁਰੂਆਤ |
$ | ਲਾਈਨ ਦਾ ਅੰਤ |
b | ਸ਼ਬਦ ਦਾ ਅੰਤ |
ਜੇ ਅਸੀਂ ਅੱਖਰਾਂ ਦੀ ਇੱਕ ਨਿਸ਼ਚਿਤ ਸੰਖਿਆ ਦੀ ਭਾਲ ਕਰ ਰਹੇ ਹਾਂ, ਉਦਾਹਰਨ ਲਈ, ਛੇ-ਅੰਕ ਦਾ ਪੋਸਟਲ ਕੋਡ ਜਾਂ ਸਾਰੇ ਤਿੰਨ-ਅੱਖਰਾਂ ਵਾਲੇ ਉਤਪਾਦ ਕੋਡ, ਤਾਂ ਅਸੀਂ ਬਚਾਅ ਲਈ ਆਉਂਦੇ ਹਾਂ ਮਾਤਰਾ or ਮਾਤਰਾ ਵਿਸ਼ੇਸ਼ ਸਮੀਕਰਨ ਹਨ ਜੋ ਖੋਜੇ ਜਾਣ ਵਾਲੇ ਅੱਖਰਾਂ ਦੀ ਸੰਖਿਆ ਨੂੰ ਨਿਸ਼ਚਿਤ ਕਰਦੇ ਹਨ। ਕੁਆਂਟੀਫਾਇਰ ਉਸ ਅੱਖਰ 'ਤੇ ਲਾਗੂ ਕੀਤੇ ਜਾਂਦੇ ਹਨ ਜੋ ਇਸ ਤੋਂ ਪਹਿਲਾਂ ਆਉਂਦਾ ਹੈ:
ਕੁਆਂਟਰ | ਵੇਰਵਾ |
? | ਜ਼ੀਰੋ ਜਾਂ ਇੱਕ ਘਟਨਾ। ਉਦਾਹਰਣ ਲਈ .? ਦਾ ਮਤਲਬ ਹੋਵੇਗਾ ਕੋਈ ਇੱਕ ਅੱਖਰ ਜਾਂ ਇਸਦੀ ਗੈਰਹਾਜ਼ਰੀ। |
+ | ਇੱਕ ਜਾਂ ਇੱਕ ਤੋਂ ਵੱਧ ਐਂਟਰੀਆਂ। ਉਦਾਹਰਣ ਲਈ d+ ਭਾਵ ਅੰਕਾਂ ਦੀ ਕੋਈ ਵੀ ਸੰਖਿਆ (ਭਾਵ 0 ਅਤੇ ਅਨੰਤ ਦੇ ਵਿਚਕਾਰ ਕੋਈ ਵੀ ਸੰਖਿਆ)। |
* | ਜ਼ੀਰੋ ਜਾਂ ਵੱਧ ਘਟਨਾਵਾਂ, ਭਾਵ ਕੋਈ ਵੀ ਮਾਤਰਾ। ਇਸ ਲਈ s* ਮਤਲਬ ਖਾਲੀ ਥਾਂਵਾਂ ਦੀ ਗਿਣਤੀ ਜਾਂ ਕੋਈ ਖਾਲੀ ਥਾਂ ਨਹੀਂ। |
{ਗਿਣਤੀ} or {ਨੰਬਰ 1,ਨੰਬਰ 2} | ਜੇ ਤੁਹਾਨੂੰ ਘਟਨਾਵਾਂ ਦੀ ਇੱਕ ਸਖਤੀ ਨਾਲ ਪਰਿਭਾਸ਼ਿਤ ਸੰਖਿਆ ਨਿਰਧਾਰਤ ਕਰਨ ਦੀ ਜ਼ਰੂਰਤ ਹੈ, ਤਾਂ ਇਹ ਕਰਲੀ ਬਰੇਸ ਵਿੱਚ ਨਿਰਧਾਰਤ ਕੀਤਾ ਗਿਆ ਹੈ. ਉਦਾਹਰਣ ਲਈ d{6} ਦਾ ਮਤਲਬ ਹੈ ਸਖਤੀ ਨਾਲ ਛੇ ਅੰਕ, ਅਤੇ ਪੈਟਰਨ s{2,5} - ਦੋ ਤੋਂ ਪੰਜ ਥਾਂਵਾਂ |
ਆਉ ਹੁਣ ਸਭ ਤੋਂ ਦਿਲਚਸਪ ਹਿੱਸੇ ਵੱਲ ਵਧੀਏ - ਬਣਾਏ ਗਏ ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਅਤੇ ਅਸੀਂ ਜੀਵਨ ਦੀਆਂ ਵਿਹਾਰਕ ਉਦਾਹਰਣਾਂ 'ਤੇ ਪੈਟਰਨਾਂ ਬਾਰੇ ਕੀ ਸਿੱਖਿਆ ਹੈ।
ਟੈਕਸਟ ਤੋਂ ਨੰਬਰ ਐਕਸਟਰੈਕਟ ਕਰਨਾ
ਸ਼ੁਰੂ ਕਰਨ ਲਈ, ਆਓ ਇੱਕ ਸਧਾਰਨ ਕੇਸ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰੀਏ - ਤੁਹਾਨੂੰ ਅਲਫਾਨਿਊਮੇਰਿਕ ਦਲੀਆ ਤੋਂ ਪਹਿਲਾ ਨੰਬਰ ਕੱਢਣ ਦੀ ਲੋੜ ਹੈ, ਉਦਾਹਰਨ ਲਈ, ਕੀਮਤ ਸੂਚੀ ਵਿੱਚੋਂ ਨਿਰਵਿਘਨ ਬਿਜਲੀ ਸਪਲਾਈ ਦੀ ਸ਼ਕਤੀ:
ਨਿਯਮਤ ਸਮੀਕਰਨ ਦੇ ਪਿੱਛੇ ਤਰਕ ਸਧਾਰਨ ਹੈ: d ਦਾ ਮਤਲਬ ਹੈ ਕੋਈ ਵੀ ਅੰਕ, ਅਤੇ ਕੁਆਂਟੀਫਾਇਰ + ਕਹਿੰਦਾ ਹੈ ਕਿ ਉਹਨਾਂ ਦੀ ਗਿਣਤੀ ਇੱਕ ਜਾਂ ਵੱਧ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ। ਫੰਕਸ਼ਨ ਦੇ ਸਾਹਮਣੇ ਡਬਲ ਮਾਇਨਸ ਦੀ ਲੋੜ ਹੈ "ਉੱਡਣ 'ਤੇ" ਐਕਸਟਰੈਕਟ ਕੀਤੇ ਅੱਖਰਾਂ ਨੂੰ ਸੰਖਿਆ-ਵਾਂ-ਟੈਕਸਟ ਤੋਂ ਪੂਰੀ ਸੰਖਿਆ ਵਿੱਚ ਬਦਲਣ ਲਈ।
ਪੋਸਟਕੋਡ
ਪਹਿਲੀ ਨਜ਼ਰ 'ਤੇ, ਇੱਥੇ ਸਭ ਕੁਝ ਸਧਾਰਨ ਹੈ - ਅਸੀਂ ਲਗਾਤਾਰ ਛੇ ਅੰਕਾਂ ਦੀ ਤਲਾਸ਼ ਕਰ ਰਹੇ ਹਾਂ। ਅਸੀਂ ਇੱਕ ਵਿਸ਼ੇਸ਼ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਾਂ d ਅੰਕ ਅਤੇ ਮਾਤ੍ਰਾਕਾਰ ਲਈ 6 {} ਅੱਖਰਾਂ ਦੀ ਗਿਣਤੀ ਲਈ:
ਹਾਲਾਂਕਿ, ਇੱਕ ਸਥਿਤੀ ਸੰਭਵ ਹੈ ਜਦੋਂ, ਲਾਈਨ ਵਿੱਚ ਸੂਚਕਾਂਕ ਦੇ ਖੱਬੇ ਪਾਸੇ, ਇੱਕ ਕਤਾਰ ਵਿੱਚ ਨੰਬਰਾਂ ਦਾ ਇੱਕ ਹੋਰ ਵੱਡਾ ਸਮੂਹ ਹੁੰਦਾ ਹੈ (ਫੋਨ ਨੰਬਰ, ਟੀਆਈਐਨ, ਬੈਂਕ ਖਾਤਾ, ਆਦਿ) ਤਦ ਸਾਡਾ ਨਿਯਮਤ ਸੀਜ਼ਨ ਪਹਿਲੇ 6 ਨੂੰ ਬਾਹਰ ਕੱਢ ਦੇਵੇਗਾ। ਇਸ ਤੋਂ ਅੰਕ, ਭਾਵ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਨਹੀਂ ਕਰਨਗੇ:
ਅਜਿਹਾ ਹੋਣ ਤੋਂ ਰੋਕਣ ਲਈ, ਸਾਨੂੰ ਆਪਣੇ ਨਿਯਮਤ ਸਮੀਕਰਨ ਦੇ ਕਿਨਾਰਿਆਂ ਦੇ ਦੁਆਲੇ ਇੱਕ ਸੋਧਕ ਜੋੜਨ ਦੀ ਲੋੜ ਹੈ b ਇੱਕ ਸ਼ਬਦ ਦੇ ਅੰਤ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ. ਇਹ ਐਕਸਲ ਨੂੰ ਇਹ ਸਪੱਸ਼ਟ ਕਰ ਦੇਵੇਗਾ ਕਿ ਜਿਸ ਟੁਕੜੇ (ਸੂਚਕਾਂਕ) ਦੀ ਸਾਨੂੰ ਲੋੜ ਹੈ ਉਹ ਇੱਕ ਵੱਖਰਾ ਸ਼ਬਦ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ, ਨਾ ਕਿ ਕਿਸੇ ਹੋਰ ਟੁਕੜੇ (ਫੋਨ ਨੰਬਰ) ਦਾ ਹਿੱਸਾ:
ਫੋਨ
ਟੈਕਸਟ ਵਿੱਚ ਇੱਕ ਫੋਨ ਨੰਬਰ ਲੱਭਣ ਵਿੱਚ ਸਮੱਸਿਆ ਇਹ ਹੈ ਕਿ ਨੰਬਰ ਲਿਖਣ ਲਈ ਬਹੁਤ ਸਾਰੇ ਵਿਕਲਪ ਹਨ - ਹਾਈਫਨ ਦੇ ਨਾਲ ਅਤੇ ਬਿਨਾਂ, ਸਪੇਸ ਰਾਹੀਂ, ਬਰੈਕਟਾਂ ਵਿੱਚ ਇੱਕ ਖੇਤਰ ਕੋਡ ਦੇ ਨਾਲ ਜਾਂ ਬਿਨਾਂ, ਆਦਿ। ਇਸਲਈ, ਮੇਰੀ ਰਾਏ ਵਿੱਚ, ਇਹ ਆਸਾਨ ਹੈ ਪਹਿਲਾਂ ਕਈ ਨੇਸਟਡ ਫੰਕਸ਼ਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸਰੋਤ ਟੈਕਸਟ ਤੋਂ ਇਹਨਾਂ ਸਾਰੇ ਅੱਖਰਾਂ ਨੂੰ ਸਾਫ਼ ਕਰੋ ਸਬਸਟੀਚਿਟ (ਬਦਲੀ)ਤਾਂ ਕਿ ਇਹ ਇੱਕ ਸਿੰਗਲ ਪੂਰੇ ਵਿੱਚ ਇਕੱਠੇ ਚਿਪਕ ਜਾਵੇ, ਅਤੇ ਫਿਰ ਇੱਕ ਮੁੱਢਲੇ ਨਿਯਮਤ ਨਾਲ d{11} ਇੱਕ ਕਤਾਰ ਵਿੱਚ 11 ਅੰਕ ਕੱਢੋ:
ਆਈ ਟੀ ਐਨ
ਇੱਥੇ ਇਹ ਥੋੜਾ ਹੋਰ ਗੁੰਝਲਦਾਰ ਹੈ, ਕਿਉਂਕਿ TIN (ਸਾਡੇ ਦੇਸ਼ ਵਿੱਚ) 10-ਅੰਕ (ਕਾਨੂੰਨੀ ਸੰਸਥਾਵਾਂ ਲਈ) ਜਾਂ 12-ਅੰਕ (ਵਿਅਕਤੀਆਂ ਲਈ) ਹੋ ਸਕਦਾ ਹੈ। ਜੇ ਤੁਸੀਂ ਖਾਸ ਤੌਰ 'ਤੇ ਨੁਕਸ ਨਹੀਂ ਲੱਭਦੇ, ਤਾਂ ਨਿਯਮਤ ਨਾਲ ਸੰਤੁਸ਼ਟ ਹੋਣਾ ਕਾਫ਼ੀ ਸੰਭਵ ਹੈ d{10,12}, ਪਰ, ਸਖਤੀ ਨਾਲ ਬੋਲਦੇ ਹੋਏ, ਇਹ 10 ਤੋਂ 12 ਅੱਖਰਾਂ ਤੱਕ ਦੇ ਸਾਰੇ ਨੰਬਰਾਂ ਨੂੰ ਬਾਹਰ ਕੱਢ ਦੇਵੇਗਾ, ਭਾਵ ਅਤੇ ਗਲਤੀ ਨਾਲ 11 ਅੰਕ ਦਾਖਲ ਕੀਤੇ ਗਏ ਹਨ। ਲਾਜ਼ੀਕਲ ਜਾਂ ਓਪਰੇਟਰ ਦੁਆਰਾ ਜੁੜੇ ਦੋ ਪੈਟਰਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਵਧੇਰੇ ਸਹੀ ਹੋਵੇਗਾ | (ਲੰਬਕਾਰੀ ਪੱਟੀ):
ਕਿਰਪਾ ਕਰਕੇ ਨੋਟ ਕਰੋ ਕਿ ਪੁੱਛਗਿੱਛ ਵਿੱਚ ਅਸੀਂ ਪਹਿਲਾਂ 12-ਬਿੱਟ ਨੰਬਰਾਂ ਦੀ ਭਾਲ ਕਰਦੇ ਹਾਂ, ਅਤੇ ਕੇਵਲ ਤਦ ਹੀ 10-ਬਿੱਟ ਨੰਬਰਾਂ ਲਈ। ਜੇਕਰ ਅਸੀਂ ਆਪਣੀ ਰੈਗੂਲਰ ਸਮੀਕਰਨ ਨੂੰ ਦੂਜੇ ਤਰੀਕੇ ਨਾਲ ਲਿਖਦੇ ਹਾਂ, ਤਾਂ ਇਹ ਹਰ ਕਿਸੇ ਲਈ, ਇੱਥੋਂ ਤੱਕ ਕਿ ਲੰਬੇ 12-ਬਿੱਟ ਟੀਆਈਐਨ ਵੀ, ਸਿਰਫ਼ ਪਹਿਲੇ 10 ਅੱਖਰ ਹੀ ਕੱਢ ਲਵੇਗਾ। ਭਾਵ, ਪਹਿਲੀ ਸ਼ਰਤ ਸ਼ੁਰੂ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਹੋਰ ਤਸਦੀਕ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ:
ਇਹ ਆਪਰੇਟਰ ਵਿਚਕਾਰ ਬੁਨਿਆਦੀ ਅੰਤਰ ਹੈ | ਇੱਕ ਮਿਆਰੀ ਐਕਸਲ ਤਰਕ ਫੰਕਸ਼ਨ ਤੋਂ OR (OR), ਜਿੱਥੇ ਆਰਗੂਮੈਂਟਾਂ ਨੂੰ ਮੁੜ ਵਿਵਸਥਿਤ ਕਰਨ ਨਾਲ ਨਤੀਜਾ ਨਹੀਂ ਬਦਲਦਾ ਹੈ।
ਉਤਪਾਦ ਐਸ.ਕੇ.ਯੂ.
ਬਹੁਤ ਸਾਰੀਆਂ ਕੰਪਨੀਆਂ ਵਿੱਚ, ਵਿਲੱਖਣ ਪਛਾਣਕਰਤਾ ਵਸਤੂਆਂ ਅਤੇ ਸੇਵਾਵਾਂ - ਲੇਖਾਂ, SAP ਕੋਡਾਂ, SKUs, ਆਦਿ ਲਈ ਨਿਰਧਾਰਤ ਕੀਤੇ ਜਾਂਦੇ ਹਨ। ਜੇਕਰ ਉਹਨਾਂ ਦੇ ਸੰਕੇਤ ਵਿੱਚ ਤਰਕ ਹੈ, ਤਾਂ ਉਹਨਾਂ ਨੂੰ ਰੈਗੂਲਰ ਸਮੀਕਰਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕਿਸੇ ਵੀ ਟੈਕਸਟ ਵਿੱਚੋਂ ਆਸਾਨੀ ਨਾਲ ਬਾਹਰ ਕੱਢਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਜੇਕਰ ਅਸੀਂ ਜਾਣਦੇ ਹਾਂ ਕਿ ਸਾਡੇ ਲੇਖਾਂ ਵਿੱਚ ਹਮੇਸ਼ਾ ਤਿੰਨ ਵੱਡੇ ਅੰਗਰੇਜ਼ੀ ਅੱਖਰ, ਇੱਕ ਹਾਈਫ਼ਨ ਅਤੇ ਬਾਅਦ ਵਿੱਚ ਤਿੰਨ-ਅੰਕੀ ਨੰਬਰ ਹੁੰਦੇ ਹਨ, ਤਾਂ:
ਟੈਪਲੇਟ ਦੇ ਪਿੱਛੇ ਤਰਕ ਸਧਾਰਨ ਹੈ. [AZ] - ਮਤਲਬ ਲਾਤੀਨੀ ਵਰਣਮਾਲਾ ਦੇ ਵੱਡੇ ਅੱਖਰ। ਅਗਲਾ ਕੁਆਂਟੀਫਾਇਰ 3 {} ਕਹਿੰਦਾ ਹੈ ਕਿ ਸਾਡੇ ਲਈ ਇਹ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿ ਅਜਿਹੇ ਤਿੰਨ ਅੱਖਰ ਹਨ। ਹਾਈਫਨ ਤੋਂ ਬਾਅਦ, ਅਸੀਂ ਤਿੰਨ ਅੰਕਾਂ ਦੀ ਉਡੀਕ ਕਰ ਰਹੇ ਹਾਂ, ਇਸ ਲਈ ਅਸੀਂ ਅੰਤ ਵਿੱਚ ਜੋੜਦੇ ਹਾਂ d{3}
ਨਕਦ ਰਕਮਾਂ
ਪਿਛਲੇ ਪੈਰੇ ਦੇ ਸਮਾਨ ਤਰੀਕੇ ਨਾਲ, ਤੁਸੀਂ ਵਸਤੂਆਂ ਦੇ ਵਰਣਨ ਤੋਂ ਕੀਮਤਾਂ (ਲਾਗਤਾਂ, ਵੈਟ ...) ਨੂੰ ਵੀ ਕੱਢ ਸਕਦੇ ਹੋ। ਜੇਕਰ ਮੁਦਰਾ ਰਾਸ਼ੀ, ਉਦਾਹਰਨ ਲਈ, ਇੱਕ ਹਾਈਫਨ ਨਾਲ ਦਰਸਾਈ ਜਾਂਦੀ ਹੈ, ਤਾਂ:
ਪੈਟਰਨ d ਕੁਆਂਟੀਫਾਇਰ ਦੇ ਨਾਲ + ਇੱਕ ਹਾਈਫਨ ਤੱਕ ਕਿਸੇ ਵੀ ਸੰਖਿਆ ਦੀ ਖੋਜ ਕਰਦਾ ਹੈ, ਅਤੇ d{2} ਬਾਅਦ ਵਿੱਚ ਪੈਸੇ (ਦੋ ਅੰਕ) ਦੀ ਭਾਲ ਕਰੇਗਾ।
ਜੇਕਰ ਤੁਹਾਨੂੰ ਕੀਮਤਾਂ ਨਹੀਂ, ਪਰ ਵੈਟ ਕੱਢਣ ਦੀ ਲੋੜ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਸਾਡੇ RegExpExtract ਫੰਕਸ਼ਨ ਦੀ ਤੀਜੀ ਵਿਕਲਪਿਕ ਦਲੀਲ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ, ਜੋ ਕਿ ਐਕਸਟਰੈਕਟ ਕੀਤੇ ਜਾਣ ਵਾਲੇ ਤੱਤ ਦੀ ਆਰਡੀਨਲ ਸੰਖਿਆ ਨੂੰ ਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ। ਅਤੇ, ਬੇਸ਼ਕ, ਤੁਸੀਂ ਫੰਕਸ਼ਨ ਨੂੰ ਬਦਲ ਸਕਦੇ ਹੋ ਸਬਸਟੀਚਿਟ (ਬਦਲੀ) ਨਤੀਜਿਆਂ ਵਿੱਚ, ਮਿਆਰੀ ਦਸ਼ਮਲਵ ਵਿਭਾਜਕ ਨੂੰ ਹਾਈਫਨ ਕਰੋ ਅਤੇ ਸ਼ੁਰੂ ਵਿੱਚ ਇੱਕ ਡਬਲ ਮਾਇਨਸ ਜੋੜੋ ਤਾਂ ਜੋ ਐਕਸਲ ਲੱਭੇ ਗਏ ਵੈਟ ਨੂੰ ਇੱਕ ਆਮ ਸੰਖਿਆ ਦੇ ਰੂਪ ਵਿੱਚ ਵਿਆਖਿਆ ਕਰੇ:
ਕਾਰ ਪਲੇਟ ਨੰਬਰ
If you do not take special vehicles, trailers and other motorcycles, then the standard car number is parsed according to the principle “letter – three numbers – two letters – region code”. Moreover, the region code can be 2- or 3-digit, and only those that are similar in appearance to the Latin alphabet are used as letters. Thus, the following regular expression will help us to extract numbers from the text:
ਟਾਈਮ
HH:MM ਫਾਰਮੈਟ ਵਿੱਚ ਸਮਾਂ ਕੱਢਣ ਲਈ, ਨਿਮਨਲਿਖਤ ਨਿਯਮਤ ਸਮੀਕਰਨ ਢੁਕਵਾਂ ਹੈ:
ਕੋਲਨ ਟੁਕੜੇ ਦੇ ਬਾਅਦ [0-5]ਦਿ, ਜਿਵੇਂ ਕਿ ਇਹ ਪਤਾ ਲਗਾਉਣਾ ਆਸਾਨ ਹੈ, 00-59 ਦੀ ਰੇਂਜ ਵਿੱਚ ਕੋਈ ਵੀ ਸੰਖਿਆ ਸੈਟ ਕਰਦਾ ਹੈ। ਬਰੈਕਟਾਂ ਵਿੱਚ ਕੌਲਨ ਤੋਂ ਪਹਿਲਾਂ, ਦੋ ਪੈਟਰਨ ਕੰਮ ਕਰਦੇ ਹਨ, ਇੱਕ ਲਾਜ਼ੀਕਲ OR (ਪਾਈਪ) ਦੁਆਰਾ ਵੱਖ ਕੀਤਾ ਜਾਂਦਾ ਹੈ:
- [0-1]ਦਿ - 00-19 ਦੀ ਰੇਂਜ ਵਿੱਚ ਕੋਈ ਵੀ ਸੰਖਿਆ
- 2[0-3] - 20-23 ਦੀ ਰੇਂਜ ਵਿੱਚ ਕੋਈ ਵੀ ਸੰਖਿਆ
ਪ੍ਰਾਪਤ ਨਤੀਜੇ ਲਈ, ਤੁਸੀਂ ਸਟੈਂਡਰਡ ਐਕਸਲ ਫੰਕਸ਼ਨ ਨੂੰ ਵੀ ਲਾਗੂ ਕਰ ਸਕਦੇ ਹੋ TIME (ਟੀਮ)ਇਸਨੂੰ ਇੱਕ ਸਮੇਂ ਦੇ ਫਾਰਮੈਟ ਵਿੱਚ ਬਦਲਣ ਲਈ ਜੋ ਪ੍ਰੋਗਰਾਮ ਲਈ ਸਮਝਿਆ ਜਾ ਸਕਦਾ ਹੈ ਅਤੇ ਹੋਰ ਗਣਨਾਵਾਂ ਲਈ ਢੁਕਵਾਂ ਹੈ।
ਪਾਸਵਰਡ ਜਾਂਚ
ਮੰਨ ਲਓ ਕਿ ਸਾਨੂੰ ਸ਼ੁੱਧਤਾ ਲਈ ਉਪਭੋਗਤਾਵਾਂ ਦੁਆਰਾ ਖੋਜੇ ਗਏ ਪਾਸਵਰਡਾਂ ਦੀ ਸੂਚੀ ਦੀ ਜਾਂਚ ਕਰਨ ਦੀ ਜ਼ਰੂਰਤ ਹੈ. ਸਾਡੇ ਨਿਯਮਾਂ ਦੇ ਅਨੁਸਾਰ, ਪਾਸਵਰਡ ਵਿੱਚ ਸਿਰਫ਼ ਅੰਗਰੇਜ਼ੀ ਅੱਖਰ (ਛੋਟੇ ਜਾਂ ਵੱਡੇ) ਅਤੇ ਨੰਬਰ ਹੋ ਸਕਦੇ ਹਨ। ਸਪੇਸ, ਅੰਡਰਸਕੋਰ ਅਤੇ ਹੋਰ ਵਿਰਾਮ ਚਿੰਨ੍ਹਾਂ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਹੈ।
ਹੇਠਾਂ ਦਿੱਤੇ ਸਧਾਰਨ ਨਿਯਮਤ ਸਮੀਕਰਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਜਾਂਚ ਦਾ ਆਯੋਜਨ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ:
ਵਾਸਤਵ ਵਿੱਚ, ਅਜਿਹੇ ਪੈਟਰਨ ਨਾਲ ਸਾਨੂੰ ਲੋੜ ਹੈ ਕਿ ਸ਼ੁਰੂਆਤ ਦੇ ਵਿਚਕਾਰ (^) ਅਤੇ ਅੰਤ ($) ਸਾਡੇ ਪਾਠ ਵਿੱਚ ਵਰਗ ਬਰੈਕਟਾਂ ਵਿੱਚ ਦਿੱਤੇ ਸੈੱਟ ਤੋਂ ਸਿਰਫ਼ ਅੱਖਰ ਸਨ। ਜੇਕਰ ਤੁਹਾਨੂੰ ਪਾਸਵਰਡ ਦੀ ਲੰਬਾਈ (ਉਦਾਹਰਨ ਲਈ, ਘੱਟੋ-ਘੱਟ 6 ਅੱਖਰ) ਦੀ ਵੀ ਜਾਂਚ ਕਰਨ ਦੀ ਲੋੜ ਹੈ, ਤਾਂ ਕੁਆਂਟੀਫਾਇਰ + ਫਾਰਮ ਵਿੱਚ ਅੰਤਰਾਲ "ਛੇ ਜਾਂ ਵੱਧ" ਨਾਲ ਬਦਲਿਆ ਜਾ ਸਕਦਾ ਹੈ {6,:
ਪਤੇ ਤੋਂ ਸ਼ਹਿਰ
ਮੰਨ ਲਓ ਕਿ ਸਾਨੂੰ ਐਡਰੈੱਸ ਬਾਰ ਤੋਂ ਸ਼ਹਿਰ ਨੂੰ ਕੱਢਣ ਦੀ ਲੋੜ ਹੈ। ਨਿਯਮਤ ਪ੍ਰੋਗਰਾਮ "g" ਤੋਂ ਟੈਕਸਟ ਨੂੰ ਐਕਸਟਰੈਕਟ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰੇਗਾ। ਅਗਲੇ ਕਾਮੇ ਲਈ:
ਆਉ ਇਸ ਪੈਟਰਨ 'ਤੇ ਇੱਕ ਡੂੰਘੀ ਵਿਚਾਰ ਕਰੀਏ.
ਜੇ ਤੁਸੀਂ ਉਪਰੋਕਤ ਟੈਕਸਟ ਨੂੰ ਪੜ੍ਹਿਆ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਪਹਿਲਾਂ ਹੀ ਸਮਝ ਗਏ ਹੋ ਕਿ ਨਿਯਮਤ ਸਮੀਕਰਨ (ਪੀਰੀਅਡ, ਤਾਰੇ, ਡਾਲਰ ਚਿੰਨ੍ਹ, ਆਦਿ) ਵਿੱਚ ਕੁਝ ਅੱਖਰਾਂ ਦਾ ਇੱਕ ਵਿਸ਼ੇਸ਼ ਅਰਥ ਹੈ। ਜੇਕਰ ਤੁਹਾਨੂੰ ਇਹਨਾਂ ਅੱਖਰਾਂ ਨੂੰ ਖੁਦ ਲੱਭਣ ਦੀ ਲੋੜ ਹੈ, ਤਾਂ ਉਹਨਾਂ ਦੇ ਅੱਗੇ ਇੱਕ ਬੈਕਸਲੈਸ਼ (ਕਈ ਵਾਰ ਕਿਹਾ ਜਾਂਦਾ ਹੈ ਬਚਾਅ). ਇਸ ਲਈ, ਟੁਕੜੇ ਦੀ ਖੋਜ ਕਰਦੇ ਸਮੇਂ "g." ਸਾਨੂੰ ਨਿਯਮਤ ਸਮੀਕਰਨ ਵਿੱਚ ਲਿਖਣਾ ਪਵੇਗਾ ਸ੍ਰੀ ਜੇਕਰ ਅਸੀਂ ਇੱਕ ਪਲੱਸ ਦੀ ਭਾਲ ਕਰ ਰਹੇ ਹਾਂ, ਤਾਂ + ਆਦਿ
ਸਾਡੇ ਟੈਮਪਲੇਟ ਵਿੱਚ ਅਗਲੇ ਦੋ ਅੱਖਰ, ਬਿੰਦੀ ਅਤੇ ਮਾਤਰਾ ਤਾਰਾ, ਕਿਸੇ ਵੀ ਅੱਖਰ, ਭਾਵ ਕਿਸੇ ਵੀ ਸ਼ਹਿਰ ਦੇ ਨਾਮ ਲਈ ਖੜ੍ਹੇ ਹਨ।
ਟੈਮਪਲੇਟ ਦੇ ਅੰਤ ਵਿੱਚ ਇੱਕ ਕੌਮਾ ਹੈ, ਕਿਉਂਕਿ ਅਸੀਂ "g" ਤੋਂ ਟੈਕਸਟ ਲੱਭ ਰਹੇ ਹਾਂ। ਇੱਕ ਕੌਮੇ ਨੂੰ. ਪਰ ਟੈਕਸਟ ਵਿੱਚ ਕਈ ਕਾਮੇ ਹੋ ਸਕਦੇ ਹਨ, ਠੀਕ ਹੈ? ਸ਼ਹਿਰ ਤੋਂ ਬਾਅਦ ਹੀ ਨਹੀਂ ਸਗੋਂ ਗਲੀ, ਘਰਾਂ ਆਦਿ ਤੋਂ ਬਾਅਦ ਵੀ ਸਾਡੀ ਮੰਗ ਕਿਸ 'ਤੇ ਰੁਕੇਗੀ? ਸਵਾਲੀਆ ਨਿਸ਼ਾਨ ਇਸੇ ਲਈ ਹੈ। ਇਸਦੇ ਬਿਨਾਂ, ਸਾਡਾ ਨਿਯਮਤ ਸਮੀਕਰਨ ਸਭ ਤੋਂ ਲੰਬੀ ਸਤਰ ਨੂੰ ਬਾਹਰ ਕੱਢੇਗਾ:
ਨਿਯਮਤ ਸਮੀਕਰਨ ਦੇ ਰੂਪ ਵਿੱਚ, ਅਜਿਹਾ ਪੈਟਰਨ "ਲਾਲਚੀ" ਹੈ। ਸਥਿਤੀ ਨੂੰ ਠੀਕ ਕਰਨ ਲਈ, ਇੱਕ ਪ੍ਰਸ਼ਨ ਚਿੰਨ੍ਹ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ - ਇਹ ਮਾਤ੍ਰਾਕਾਰ ਬਣਾਉਂਦਾ ਹੈ ਜਿਸ ਤੋਂ ਬਾਅਦ ਇਹ "ਕੰਜਰ" ਖੜ੍ਹਾ ਹੁੰਦਾ ਹੈ - ਅਤੇ ਸਾਡੀ ਪੁੱਛਗਿੱਛ ਟੈਕਸਟ ਨੂੰ "g" ਤੋਂ ਬਾਅਦ ਸਿਰਫ਼ ਪਹਿਲੇ ਕਾਊਂਟਰ ਕਾਮੇ ਤੱਕ ਲੈ ਜਾਂਦੀ ਹੈ:
ਪੂਰੇ ਮਾਰਗ ਤੋਂ ਫਾਈਲ ਦਾ ਨਾਮ
ਇੱਕ ਹੋਰ ਬਹੁਤ ਹੀ ਆਮ ਸਥਿਤੀ ਪੂਰੇ ਮਾਰਗ ਤੋਂ ਫਾਈਲ ਨਾਮ ਨੂੰ ਐਕਸਟਰੈਕਟ ਕਰਨਾ ਹੈ. ਫਾਰਮ ਦਾ ਇੱਕ ਸਧਾਰਨ ਨਿਯਮਤ ਸਮੀਕਰਨ ਇੱਥੇ ਮਦਦ ਕਰੇਗਾ:
ਇੱਥੇ ਚਾਲ ਇਹ ਹੈ ਕਿ ਖੋਜ, ਅਸਲ ਵਿੱਚ, ਉਲਟ ਦਿਸ਼ਾ ਵਿੱਚ ਹੁੰਦੀ ਹੈ - ਅੰਤ ਤੋਂ ਸ਼ੁਰੂ ਤੱਕ, ਕਿਉਂਕਿ ਸਾਡੇ ਟੈਂਪਲੇਟ ਦੇ ਅੰਤ ਵਿੱਚ $, ਅਤੇ ਅਸੀਂ ਇਸ ਤੋਂ ਪਹਿਲਾਂ ਸੱਜੇ ਤੋਂ ਪਹਿਲੇ ਬੈਕਸਲੈਸ਼ ਤੱਕ ਸਭ ਕੁਝ ਲੱਭ ਰਹੇ ਹਾਂ। ਪਿਛਲੀ ਉਦਾਹਰਨ ਵਿੱਚ ਬਿੰਦੀ ਵਾਂਗ, ਬੈਕਸਲੈਸ਼ ਬਚਿਆ ਹੋਇਆ ਹੈ।
PS
"ਅੰਤ ਵੱਲ" ਮੈਂ ਸਪੱਸ਼ਟ ਕਰਨਾ ਚਾਹੁੰਦਾ ਹਾਂ ਕਿ ਉਪਰੋਕਤ ਸਾਰੀਆਂ ਸਾਰੀਆਂ ਸੰਭਾਵਨਾਵਾਂ ਦਾ ਇੱਕ ਛੋਟਾ ਹਿੱਸਾ ਹੈ ਜੋ ਨਿਯਮਤ ਸਮੀਕਰਨ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ। ਉਹਨਾਂ ਦੀ ਵਰਤੋਂ ਲਈ ਬਹੁਤ ਸਾਰੇ ਵਿਸ਼ੇਸ਼ ਅੱਖਰ ਅਤੇ ਨਿਯਮ ਹਨ, ਅਤੇ ਇਸ ਵਿਸ਼ੇ 'ਤੇ ਪੂਰੀਆਂ ਕਿਤਾਬਾਂ ਲਿਖੀਆਂ ਗਈਆਂ ਹਨ (ਮੈਂ ਸ਼ੁਰੂਆਤ ਲਈ ਘੱਟੋ-ਘੱਟ ਇਸ ਦੀ ਸਿਫਾਰਸ਼ ਕਰਦਾ ਹਾਂ)। ਇੱਕ ਤਰ੍ਹਾਂ ਨਾਲ, ਨਿਯਮਿਤ ਸਮੀਕਰਨ ਲਿਖਣਾ ਲਗਭਗ ਇੱਕ ਕਲਾ ਹੈ। ਲਗਭਗ ਹਮੇਸ਼ਾ, ਇੱਕ ਖੋਜ ਕੀਤੀ ਨਿਯਮਤ ਸਮੀਕਰਨ ਨੂੰ ਸੁਧਾਰਿਆ ਜਾ ਸਕਦਾ ਹੈ ਜਾਂ ਪੂਰਕ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਇਸ ਨੂੰ ਵਧੇਰੇ ਸ਼ਾਨਦਾਰ ਜਾਂ ਇੰਪੁੱਟ ਡੇਟਾ ਦੀ ਇੱਕ ਵਿਸ਼ਾਲ ਸ਼੍ਰੇਣੀ ਨਾਲ ਕੰਮ ਕਰਨ ਦੇ ਯੋਗ ਬਣਾਉਂਦਾ ਹੈ।
ਹੋਰ ਲੋਕਾਂ ਦੇ ਰੈਗੂਲਰ ਸਮੀਕਰਨਾਂ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਅਤੇ ਪਾਰਸ ਕਰਨ ਲਈ ਜਾਂ ਆਪਣੇ ਖੁਦ ਦੇ ਡੀਬੱਗ ਕਰਨ ਲਈ, ਇੱਥੇ ਕਈ ਸੁਵਿਧਾਜਨਕ ਔਨਲਾਈਨ ਸੇਵਾਵਾਂ ਹਨ: RegEx101, RegExr ਅਤੇ ਹੋਰ
ਬਦਕਿਸਮਤੀ ਨਾਲ, ਕਲਾਸਿਕ ਰੈਗੂਲਰ ਸਮੀਕਰਨ ਦੀਆਂ ਸਾਰੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ VBA (ਉਦਾਹਰਨ ਲਈ, ਰਿਵਰਸ ਖੋਜ ਜਾਂ POSIX ਕਲਾਸਾਂ) ਵਿੱਚ ਸਮਰਥਿਤ ਨਹੀਂ ਹਨ ਅਤੇ ਸਿਰਿਲਿਕ ਨਾਲ ਕੰਮ ਕਰ ਸਕਦੀਆਂ ਹਨ, ਪਰ ਮੈਂ ਸੋਚਦਾ ਹਾਂ ਕਿ ਪਹਿਲੀ ਵਾਰ ਤੁਹਾਨੂੰ ਖੁਸ਼ ਕਰਨ ਲਈ ਜੋ ਕੁਝ ਹੈ ਉਹ ਕਾਫ਼ੀ ਹੈ.
ਜੇ ਤੁਸੀਂ ਵਿਸ਼ੇ ਲਈ ਨਵੇਂ ਨਹੀਂ ਹੋ, ਅਤੇ ਤੁਹਾਡੇ ਕੋਲ ਸਾਂਝਾ ਕਰਨ ਲਈ ਕੁਝ ਹੈ, ਤਾਂ ਹੇਠਾਂ ਦਿੱਤੀਆਂ ਟਿੱਪਣੀਆਂ ਵਿੱਚ ਐਕਸਲ ਵਿੱਚ ਕੰਮ ਕਰਦੇ ਸਮੇਂ ਲਾਭਦਾਇਕ ਸਮੀਕਰਨ ਛੱਡੋ। ਇੱਕ ਮਨ ਚੰਗਾ, ਪਰ ਦੋ ਬੂਟ ਇੱਕ ਜੋੜਾ!
- SUBSTITUTE ਫੰਕਸ਼ਨ ਨਾਲ ਟੈਕਸਟ ਨੂੰ ਬਦਲਣਾ ਅਤੇ ਸਾਫ਼ ਕਰਨਾ
- Search and highlighting of Latin characters in text
- ਨਜ਼ਦੀਕੀ ਸਮਾਨ ਟੈਕਸਟ ਲਈ ਖੋਜ ਕਰੋ (ਇਵਾਨੋਵ = ਇਵੋਨੋਵ = ਇਵਾਨੋਫ, ਆਦਿ)