Если это то, что вы просто пытаетесь загрузить на элемент, попробуйте использовать это. При загрузке страницы он добавит ваше целевое свойство с правильным атрибутом.
$ (your_element_here) .prop ('target', '_blank');
Вы рассмотрели соответствие фактическим возможным ключевым словам? такой как:
(?:(?:public)|(?:private)|(?:static)|(?:protected)\s+)*
Это могло бы быть немного более вероятно соответствовать правильно, хотя это могло бы также сделать regex тяжелее для чтения...
Я придумал это:
\b\w*\s*\w*\(.*?\)\s*\{[\x21-\x7E\s]*\}
Я протестировал его против функции PHP, но это должно работать все равно, это - отрывок кода, который я использовал:
function getProfilePic($url)
{
if(@open_image($url) !== FALSE)
{
@imagepng($image, 'images/profiles/' . $_SESSION['id'] . '.png');
@imagedestroy($image);
return TRUE;
}
else
{
return FALSE;
}
}
Подробнее:
Options: case insensitive
Assert position at a word boundary «\b»
Match a single character that is a “word character” (letters, digits, etc.) «\w*»
Between zero and unlimited times, as many times as possible, giving back as needed (greedy) «*»
Match a single character that is a “whitespace character” (spaces, tabs, line breaks, etc.) «\s*»
Between zero and unlimited times, as many times as possible, giving back as needed (greedy) «*»
Match a single character that is a “word character” (letters, digits, etc.) «\w*»
Between zero and unlimited times, as many times as possible, giving back as needed (greedy) «*»
Match the character “(” literally «\(»
Match any single character that is not a line break character «.*?»
Between zero and unlimited times, as few times as possible, expanding as needed (lazy) «*?»
Match the character “)” literally «\)»
Match a single character that is a “whitespace character” (spaces, tabs, line breaks, etc.) «\s*»
Between zero and unlimited times, as many times as possible, giving back as needed (greedy) «*»
Match the character “{” literally «\{»
Match a single character present in the list below «[\x21-\x7E\s]*»
Between zero and unlimited times, as many times as possible, giving back as needed (greedy) «*»
A character in the range between ASCII character 0x21 (33 decimal) and ASCII character 0x7E (126 decimal) «\x21-\x7E»
A whitespace character (spaces, tabs, line breaks, etc.) «\s»
Match the character “}” literally «\}»
Created with RegexBuddy
Я - regex механизм вполне уверенного Java, является жадным по умолчанию, означая, что "\w+ +\w+ *\(.*\) *\{"
никогда не будет соответствовать, начиная с .*
в круглой скобке съест все после открытия paren. Я рекомендую заменить .*
[^)], этот путь Вы, он выберет все non-closing-paren символы.
ПРИМЕЧАНИЕ: Mike Stone исправил меня в комментариях, и так как большинство людей действительно не открывает комментарии (я знаю, что часто не замечаю их):
Жадный не означает, что это никогда не будет соответствовать..., но это съест parens, если будет больше parens после для удовлетворения остальной части regex... так, например, "общедоступное пустое нечто (международный аргумент) {если (тест) {System.exit (0); }}" не будет соответствовать правильно...
Подсказка:
, Если Вы собираетесь записать regex в Perl, используйте "xms" опции так, чтобы можно было оставить пробелы и зарегистрировать regex. Например, можно записать regex как:
m{\w+ \s+ #return type
\w+ \s* #function name
[(] [^)]* [)] #params
\s* [{] #open paren
}xms
Одна из опций (думают x) позволяет комментарии # в regex. Также используйте \s вместо a "". \s обозначает любой "пустой" символ. Таким образом, вкладки также соответствовали бы - который является тем, что Вы хотели бы. В Perl Вы не должны использовать//, можно использовать {} или <> или | |.
Не уверенный, если другие языки имеют эту способность. Если они делают, то используйте их.
(public|protected|private|static|\s) +[\w\<\>\[\]]+\s+(\w+) *\([^\)]*\) *(\{?|[^;])
Я думаю, что приведенное выше регулярное выражение может соответствовать почти всем возможным комбинациям объявлений методов Java, даже те, которые включают обобщения и массивы, являются возвращаемыми аргументами, которым регулярное выражение, предоставленное исходным автором, не соответствовало.