Мы можем использовать str_extract
для соответствия заглавной ([A-Z]
), за которой следует граница слова (\\b
), за которым следует один или несколько символов слова
library(stringr)
str_extract_all(text, "\\b[A-Z]\\w+")[[1]]
#[1] "Honda" "Asus"
Или с gregexpr/regmatches
из base R
regmatches(text, gregexpr("\\b[A-Z]\\w+", text))
#[1] "Honda" "Asus"
Нет. Из XHTML 1.0 Spec
В XML идентификаторы фрагментов имеют идентификатор типа, и может существовать только один атрибут идентификатора типа для каждого элемента. Поэтому в XHTML 1.0 атрибут id определяется как идентификатор типа. Чтобы документы XHTML 1.0 были хорошо структурированными XML-документами, документы XHTML 1.0 ДОЛЖНЫ использовать атрибут id при определении идентификаторов фрагментов над перечисленными выше элементами. См. Руководства по совместимости HTML для получения информации о том, как такие якоря совместимы с обратным доступом при работе с документами XHTML в виде текстового текста / html.
blockquote>
Нет. Хотя определение из w3c для HTML 4, похоже, явно не охватывает ваш вопрос, определение атрибута name и id не содержит пробелов в идентификаторе:
Идентификаторы ID и NAME должны начинаться с буквы ([A-Za-z]), за которой может следовать любое количество букв, цифр ([0-9]), дефис («-») , подчеркивания («_»), двоеточия («:») и периоды («.»).
blockquote>
http://www.w3.org/TR/REC-html40/struct/global.html#h-7.5.2
Атрибут id присваивает уникальный идентификатор элементу (который может быть проверен синтаксическим анализатором SGML).
blockquote>и
Идентификаторы ID и NAME должны начинаться с буквы ( [A-Za-z]), за которым может следовать любое количество букв, цифр ([0-9]), дефис («-»), подчеркивание («_»), двоеточия («:») и периоды (".").
blockquote>Поэтому «id» должен быть уникальным и не содержать пробела.
Нет, вы должны использовать вложенные DIV, если вы хотите пропустить этот путь. Кроме того, даже если бы вы могли представить себе путаницу, возникшую при запуске document.getElementByID (). Какой идентификатор он собирается захватить, если их несколько?
В слегка связанной теме вы можете добавить несколько классов в DIV. См. Обсуждение Эрика Майерса,
В отличие от всех остальных, правильный ответ: ДА
Спецификация селекторов очень понятна:
Если элемент имеет несколько атрибутов идентификатора, все из них должны рассматриваться как идентификаторы для этого элемента для целей выбора идентификатора. Такая ситуация может быть достигнута с использованием смесей xml: id, DOM3 Core, XML DTD и знаний, связанных с пространством имен.
blockquote>
Редактировать
Просто для пояснения: Да, элемент XHTML может иметь несколько идентификаторов, например
<p id="foo" xml:id="bar">
, но назначая несколько ids к тому же атрибуту
id
, используя список, разделенный пробелами, невозможно.
Нет.
https://www.w3.org/TR/2011/WD-html5-20110525/elements.html#the-id-attribute
Значение не должно содержать пробелов.
blockquote>
id="a b"
& lt; - найти пробел в этом VaLuE .Тем не менее, вы можете создать несколько идентификаторов. Но если вы следуете спецификации, ответ будет отрицательным.
У вас может быть только один идентификатор на элемент, но вы действительно можете иметь более одного класса. Но не имеют нескольких атрибутов класса, поместите несколько значений класса в один атрибут.
<div id="foo" class="bar baz bax">
является совершенно законным.
Я бы хотел сказать технически «да», так как действительно то, что получается, технически всегда зависит от браузера. Большинство браузеров стараются соблюдать спецификации, насколько это возможно, и насколько я знаю, в спецификациях css нет ничего. Я только собираюсь ручаться за фактический код html, css, javascript, который отправляется в браузер до того, как будут выполнены другие шаги интерпретатора.
Однако я также говорю «нет», поскольку каждый браузер, который я обычно тестировал, Фактически. Если вам нужно самому убедиться, сохраните следующее как .html-файл и откройте его в основных браузерах. Во всех браузерах, которые я тестировал по функции javascript, не будет соответствовать элементу. Однако удалите либо «hunkojunk» из тега id, и все работает отлично. Пример кода
<html>
<head>
</head>
<body>
<p id="hunkojunk1 hunkojunk2"></p>
<script type="text/javascript">
document.getElementById('hunkojunk2').innerHTML = "JUNK JUNK JUNK JUNK JUNK JUNK";
</script>
</body>
</html>
Не думаю, что у вас может быть два ИД, но это должно быть возможно. Использование одного и того же идентификатора дважды - это другой случай ... как два человека, использующих один и тот же паспорт. Однако у одного человека может быть несколько паспортов ... Пришлось искать это, так как у меня есть ситуация, когда один сотрудник может иметь несколько функций. Скажем, «системный администратор» и «координатор команды», имеющий id = «командный координатор sysadm», позволят мне ссылаться на них с других страниц, чтобы сотрудники.html # sysadm и employees.html # teamcoordinator вывели бы одно место ... Однажды кто-то else может взять на себя функцию координатора команды, в то время как sysadm остается sysadm ... тогда мне нужно только изменить идентификаторы на странице employee.html ... но, как я уже сказал, это не работает: (
Это интересно, но, насколько я знаю, ответ твердый нет. Я не понимаю, почему вам нужен вложенный идентификатор, так как вы обычно пересекаете его с другим элементом с одинаковым вложенным идентификатором. Если вы этого не сделаете, нет смысла, если вы это сделаете, все еще очень мало.
Мое понимание всегда было:
Нет.
Сказав это, вам нечего остановить. Но вы столкнетесь с непоследовательным поведением с различными браузерами. Не делай этого. 1 ID на элемент.
Если вы хотите, чтобы несколько назначений для элемента использовали классы (разделенные пробелом).
Я знаю, что это год, но мне это было любопытно, и я уверен, что другие найдут здесь свой путь. Простой ответ - нет, как говорили другие до меня. Элемент не может иметь более одного идентификатора, и идентификатор не может использоваться более одного раза на странице. Попробуйте, и вы увидите, насколько хорошо не работает .
В ответ на ответ tvanfosson относительно использования одного и того же идентификатора в двух разных элементах. Насколько мне известно, идентификатор может использоваться только один раз на странице, независимо от того, привязан ли он к другому тегу.
По определению элемент, нуждающийся в идентификаторе, должен быть уникальным, но если вам нужно два ID, тогда он не уникален и нуждается в классе вместо этого.
Нет, у вас не может быть нескольких идентификаторов для одного тега, но я видел тег с атрибутом name
и атрибутом id
, которые обрабатываются некоторыми приложениями.
Нет. Каждый элемент DOM, если он имеет идентификатор, имеет единственный уникальный идентификатор. Вы можете приблизить его, используя что-то вроде:
<div id='enclosing_id_123'><span id='enclosed_id_123'></span></div>
, а затем используйте навигацию, чтобы получить то, что вы действительно хотите.
Если вы просто хотите применить стили, имена классов лучше.
классы специально созданы для этого, вот код, из которого вы можете понять
<html>
<head>
<style type="text/css">
.personal{
height:100px;
width: 100px;
}
.fam{
border: 2px solid #ccc;
}
.x{
background-color:#ccc;
}
</style>
</head>
<body>
<div class="personal fam x"></div>
</body>
</html>