ミニマルなかんじだけどlib.jsにそういうのがあった。 this.cssToXPath = function(rule) { var regElement = /^([#.]?)([a-z0-9\\*_-]*)((\|)([a-z0-9\\*_-]*))?/i; var regAttr1 = /^\[([^\]]*)\]/i; var regAttr2 = /^\[\s*([^~=\s]+)\s*(~?=)\s*"([^"]+)"\s*\]/i; var regPseudo = /^:([a-z_-])+/i; var regCombinator = /^(\s*[>+\s])?/i; var regComma = /^\s*,/i;