<?php
$string = 'user34567';
if(preg_match('/user(^[0-9]{1,8}+$)/', $string)){
echo 1;
}
?>
I want to check if the string have the word user follows by number that can be 8 symbols max.
The Parse Regex operator (also called the extract operator) enables users comfortable with regular expression syntax to extract more complex data from log lines. Parse regex can be used, for example, to extract nested fields.
A Regular Expression, REGEX, is a special text string for describing a search pattern. Within Hotjar, you can use Regular Expressions to target pages with Feedback widgets or Surveys, or to determine when Hotjar should start recording a user's session.
XML is not a regular language (that's a technical term) so you will never be able to parse it correctly using a regular expression.
You can't parse [X]HTML with regex. Because HTML can't be parsed by regex. Regex is not a tool that can be used to correctly parse HTML.
You're very close actually:
if(preg_match('/^user[0-9]{1,8}$/', $string)){
The anchor for "must match at start of string" should be all the way in front, followed by the "user" literal; then you specify the character set [0-9]
and multiplier {1,8}
. Finally, you end off with the "must match at end of string" anchor.
A few comments on your original expression:
^
matches the start of a string, so writing it anywhere else inside this expression but the beginning will not yield the expected results+
is a multiplier; {1,8}
is one too, but only one multiplier can be used after an expressionBtw, instead of [0-9]
you could also use \d
. It's an automatic character group that shortens the regular expression, though this particular one doesn't save all too many characters ;-)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With