mNo edit summary |
(Creating headers to make it look like a nice wiki page! Also added some extra info about meta-characters, so that the example regex expressions make sense to the reader! Importance of the input mask not relevant here, that's mentioned elsewhere) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
In SMF2.0, regular expressions can be used in the ''[[SMF2.0:Features_and_Options#Advanced_Settings|Advanced Settings]]'' when creating or editing a | In SMF2.0, regular expressions (regex) can be used in input masks as found in the ''[[SMF2.0:Features_and_Options#Advanced_Settings|Advanced Settings]]'' when creating or editing a custom profile field. | ||
==Using Regular Expressions== | |||
When entering regular expressions (regex), you must surround them with delimiters such as tildes (~) or double quotes ("), otherwise they will not work and there will be no warning of this failure. Two examples of the correct way of entering regular expressions for SMF are: '''<span style="color:#FF0000">~</span>'''[12][0-9]{3}'''<span style="color:#FF0000">~</span>''' or '''<span style="color:#FF0000">"</span>'''[12][0-9]{3}'''<span style="color:#FF0000">"</span>''' | |||
===Examples=== | |||
The following examples give an idea of what can be done with regular expressions: | |||
*'''<code>"[A-Za-z]+"</code>''' - Match all upper and lower case alphabet characters. | *'''<code>"[A-Za-z]+"</code>''' - Match all upper and lower case alphabet characters. | ||
Line 11: | Line 15: | ||
*'''<code>"^([A-Fa-f0-9]{3}|[A-Fa-f0-9]{6})$" </code>''' - Only allow 3 or 6 character hexcodes. | *'''<code>"^([A-Fa-f0-9]{3}|[A-Fa-f0-9]{6})$" </code>''' - Only allow 3 or 6 character hexcodes. | ||
===Meta-characters=== | |||
In regular expressions you can use meta-characters to define the search for matches. | |||
*'''?''' - None or one match of | *'''?''' - <u>None or one</u> match of the preceding expression. | ||
*'''+''' - One or more of | *'''+''' - <u>One or more</u> matches of the preceding expression. | ||
*'''<nowiki>*</nowiki>''' - None or more of | *'''<nowiki>*</nowiki>''' - <u>None or more</u> matches of the preceding expression. | ||
*'''{ | *'''{''n''}''' - Matches the preceding expression <u>exactly</u> ''n'' times. | ||
*'''{ | *'''{''n'',}''' - Matches the preceding expression <u>at least</u> ''n'' times. | ||
*'''{, | *'''{,''n''}''' - Matches the preceding expression <u>no more than</u> ''n'' times. | ||
*'''{ | *'''{''n'',''m''}''' - Matches the preceding expression <u>at least</u> ''n'' times, but <u>no more than</u> ''m'' times. | ||
*'''^''' - | *'''^''' - When used <u>outside</u> square brackets, it marks the start of the string. When used <u>inside</u> square brackets it has the affect of negating the class, but only if it is the first character. | ||
*'''$''' - | *'''$''' - The end of the string. | ||
*'''\''' - Escapes the next character. | *'''\''' - Escapes the next character. | ||
[[Category: As an administrator]] | [[Category: As an administrator]] |
Latest revision as of 21:06, 13 September 2014
In SMF2.0, regular expressions (regex) can be used in input masks as found in the Advanced Settings when creating or editing a custom profile field.
Using Regular Expressions
When entering regular expressions (regex), you must surround them with delimiters such as tildes (~) or double quotes ("), otherwise they will not work and there will be no warning of this failure. Two examples of the correct way of entering regular expressions for SMF are: ~[12][0-9]{3}~ or "[12][0-9]{3}"
Examples
The following examples give an idea of what can be done with regular expressions:
"[A-Za-z]+"
- Match all upper and lower case alphabet characters."[0-9]+"
- Match all numeric characters."[A-Za-z0-9]{7}"
- Match all upper and lower case alphabet and numeric characters seven times."[^0-9]?"
- Forbid any number from being matched."^([A-Fa-f0-9]{3}|[A-Fa-f0-9]{6})$"
- Only allow 3 or 6 character hexcodes.
Meta-characters
In regular expressions you can use meta-characters to define the search for matches.
- ? - None or one match of the preceding expression.
- + - One or more matches of the preceding expression.
- * - None or more matches of the preceding expression.
- {n} - Matches the preceding expression exactly n times.
- {n,} - Matches the preceding expression at least n times.
- {,n} - Matches the preceding expression no more than n times.
- {n,m} - Matches the preceding expression at least n times, but no more than m times.
- ^ - When used outside square brackets, it marks the start of the string. When used inside square brackets it has the affect of negating the class, but only if it is the first character.
- $ - The end of the string.
- \ - Escapes the next character.