Variable inside regular expression php
up vote
6
down vote
favorite
I a stuck with regular expression and i need help.
So basically i want to do somethning like this:
$data = "hi";
$number = 4;
$reg = '/^[a-z"]{1,4}$/';
if(preg_match($reg,$data)) {
echo 'Match';
}else {
echo 'No match';
}
But i want to use variable
$reg = '/^[a-z"]{1, variable here }$/';
I have tried:
$reg = '/^[a-z"]{1, '. $number .'}$/';
$reg = "/^[a-z"]{1, $number}$/";
But not getting right result.
Tnx for help
php regex variables
add a comment |
up vote
6
down vote
favorite
I a stuck with regular expression and i need help.
So basically i want to do somethning like this:
$data = "hi";
$number = 4;
$reg = '/^[a-z"]{1,4}$/';
if(preg_match($reg,$data)) {
echo 'Match';
}else {
echo 'No match';
}
But i want to use variable
$reg = '/^[a-z"]{1, variable here }$/';
I have tried:
$reg = '/^[a-z"]{1, '. $number .'}$/';
$reg = "/^[a-z"]{1, $number}$/";
But not getting right result.
Tnx for help
php regex variables
1
In the first example, you are using single quotes which prevents PHP from parsing your variable as a variable.
– Alex W
Sep 12 '14 at 17:54
3
@AlexW - it doesn't matter which quotes did he use, since he split the string to two parts and add$number
via.
operator
– Drecker
Sep 12 '14 at 18:00
1
@Drecker I was referring to the example above that. Where he putvariable here
.
– Alex W
Sep 12 '14 at 18:01
add a comment |
up vote
6
down vote
favorite
up vote
6
down vote
favorite
I a stuck with regular expression and i need help.
So basically i want to do somethning like this:
$data = "hi";
$number = 4;
$reg = '/^[a-z"]{1,4}$/';
if(preg_match($reg,$data)) {
echo 'Match';
}else {
echo 'No match';
}
But i want to use variable
$reg = '/^[a-z"]{1, variable here }$/';
I have tried:
$reg = '/^[a-z"]{1, '. $number .'}$/';
$reg = "/^[a-z"]{1, $number}$/";
But not getting right result.
Tnx for help
php regex variables
I a stuck with regular expression and i need help.
So basically i want to do somethning like this:
$data = "hi";
$number = 4;
$reg = '/^[a-z"]{1,4}$/';
if(preg_match($reg,$data)) {
echo 'Match';
}else {
echo 'No match';
}
But i want to use variable
$reg = '/^[a-z"]{1, variable here }$/';
I have tried:
$reg = '/^[a-z"]{1, '. $number .'}$/';
$reg = "/^[a-z"]{1, $number}$/";
But not getting right result.
Tnx for help
php regex variables
php regex variables
asked Sep 12 '14 at 17:51
EstSiim
124129
124129
1
In the first example, you are using single quotes which prevents PHP from parsing your variable as a variable.
– Alex W
Sep 12 '14 at 17:54
3
@AlexW - it doesn't matter which quotes did he use, since he split the string to two parts and add$number
via.
operator
– Drecker
Sep 12 '14 at 18:00
1
@Drecker I was referring to the example above that. Where he putvariable here
.
– Alex W
Sep 12 '14 at 18:01
add a comment |
1
In the first example, you are using single quotes which prevents PHP from parsing your variable as a variable.
– Alex W
Sep 12 '14 at 17:54
3
@AlexW - it doesn't matter which quotes did he use, since he split the string to two parts and add$number
via.
operator
– Drecker
Sep 12 '14 at 18:00
1
@Drecker I was referring to the example above that. Where he putvariable here
.
– Alex W
Sep 12 '14 at 18:01
1
1
In the first example, you are using single quotes which prevents PHP from parsing your variable as a variable.
– Alex W
Sep 12 '14 at 17:54
In the first example, you are using single quotes which prevents PHP from parsing your variable as a variable.
– Alex W
Sep 12 '14 at 17:54
3
3
@AlexW - it doesn't matter which quotes did he use, since he split the string to two parts and add
$number
via .
operator– Drecker
Sep 12 '14 at 18:00
@AlexW - it doesn't matter which quotes did he use, since he split the string to two parts and add
$number
via .
operator– Drecker
Sep 12 '14 at 18:00
1
1
@Drecker I was referring to the example above that. Where he put
variable here
.– Alex W
Sep 12 '14 at 18:01
@Drecker I was referring to the example above that. Where he put
variable here
.– Alex W
Sep 12 '14 at 18:01
add a comment |
2 Answers
2
active
oldest
votes
up vote
16
down vote
accepted
In the first example you have space where you shouldn't have one,
you have:
$reg = '/^[a-z"]{1, '. $number .'}$/';
your should have:
$reg = '/^[a-z"]{1,'. $number .'}$/';
then it works just fine
Update: You have same error in second example - thanks to AbraCadaver
@AbraCadaver - thanks, i've edited answer so it will be more visible
– Drecker
Sep 12 '14 at 18:03
add a comment |
up vote
1
down vote
Another way to use variables in regex is through the use of sprintf.
For example:
$nonWhiteSpace = "^s";
$pattern = sprintf("/[%s]{1,10}/",$nonWhiteSpace);
var_dump($pattern); //gives you /[^s]{1,10}/
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
16
down vote
accepted
In the first example you have space where you shouldn't have one,
you have:
$reg = '/^[a-z"]{1, '. $number .'}$/';
your should have:
$reg = '/^[a-z"]{1,'. $number .'}$/';
then it works just fine
Update: You have same error in second example - thanks to AbraCadaver
@AbraCadaver - thanks, i've edited answer so it will be more visible
– Drecker
Sep 12 '14 at 18:03
add a comment |
up vote
16
down vote
accepted
In the first example you have space where you shouldn't have one,
you have:
$reg = '/^[a-z"]{1, '. $number .'}$/';
your should have:
$reg = '/^[a-z"]{1,'. $number .'}$/';
then it works just fine
Update: You have same error in second example - thanks to AbraCadaver
@AbraCadaver - thanks, i've edited answer so it will be more visible
– Drecker
Sep 12 '14 at 18:03
add a comment |
up vote
16
down vote
accepted
up vote
16
down vote
accepted
In the first example you have space where you shouldn't have one,
you have:
$reg = '/^[a-z"]{1, '. $number .'}$/';
your should have:
$reg = '/^[a-z"]{1,'. $number .'}$/';
then it works just fine
Update: You have same error in second example - thanks to AbraCadaver
In the first example you have space where you shouldn't have one,
you have:
$reg = '/^[a-z"]{1, '. $number .'}$/';
your should have:
$reg = '/^[a-z"]{1,'. $number .'}$/';
then it works just fine
Update: You have same error in second example - thanks to AbraCadaver
answered Sep 12 '14 at 17:57
Drecker
411417
411417
@AbraCadaver - thanks, i've edited answer so it will be more visible
– Drecker
Sep 12 '14 at 18:03
add a comment |
@AbraCadaver - thanks, i've edited answer so it will be more visible
– Drecker
Sep 12 '14 at 18:03
@AbraCadaver - thanks, i've edited answer so it will be more visible
– Drecker
Sep 12 '14 at 18:03
@AbraCadaver - thanks, i've edited answer so it will be more visible
– Drecker
Sep 12 '14 at 18:03
add a comment |
up vote
1
down vote
Another way to use variables in regex is through the use of sprintf.
For example:
$nonWhiteSpace = "^s";
$pattern = sprintf("/[%s]{1,10}/",$nonWhiteSpace);
var_dump($pattern); //gives you /[^s]{1,10}/
add a comment |
up vote
1
down vote
Another way to use variables in regex is through the use of sprintf.
For example:
$nonWhiteSpace = "^s";
$pattern = sprintf("/[%s]{1,10}/",$nonWhiteSpace);
var_dump($pattern); //gives you /[^s]{1,10}/
add a comment |
up vote
1
down vote
up vote
1
down vote
Another way to use variables in regex is through the use of sprintf.
For example:
$nonWhiteSpace = "^s";
$pattern = sprintf("/[%s]{1,10}/",$nonWhiteSpace);
var_dump($pattern); //gives you /[^s]{1,10}/
Another way to use variables in regex is through the use of sprintf.
For example:
$nonWhiteSpace = "^s";
$pattern = sprintf("/[%s]{1,10}/",$nonWhiteSpace);
var_dump($pattern); //gives you /[^s]{1,10}/
edited Dec 21 '17 at 17:29
sintakonte
3,86941229
3,86941229
answered Dec 21 '17 at 17:10
cbernard73
112
112
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f25814014%2fvariable-inside-regular-expression-php%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
In the first example, you are using single quotes which prevents PHP from parsing your variable as a variable.
– Alex W
Sep 12 '14 at 17:54
3
@AlexW - it doesn't matter which quotes did he use, since he split the string to two parts and add
$number
via.
operator– Drecker
Sep 12 '14 at 18:00
1
@Drecker I was referring to the example above that. Where he put
variable here
.– Alex W
Sep 12 '14 at 18:01